【问题标题】:Aurelia CLI and braintree-webAurelia CLI 和 Braintree-web
【发布时间】:2018-04-26 00:22:48
【问题描述】:

我正在尝试将 https://www.npmjs.com/package/braintree-web 与 Aurelia 一起使用(使用 aurelia-cli 和 RequireJS)。我被困在试图解决所有许多依赖项。

要在 Aurelia 中使用第 3 方库,该库必须在 aurelia.json 文件中定义。

如果我在该文件中添加“braintree-web”,则 aurelia 会抱怨“braintree-web”它需要“american-express”、“apple-pay”等模块。

如果我手动创建“american-express”、“apple-pay”依赖项,那么每个依赖项还引用“braintree-web/lib”和一堆其他子目录依赖项。

简而言之,我无法加载“braintree-web”模块,因为我必须手动构建所有子依赖项,而且它太复杂而无法正常工作。

如上所述,我正在使用 requireJS,这些依赖项是否都可以正确解析?

关于如何让这个工作的任何想法?

谢谢

【问题讨论】:

    标签: braintree aurelia


    【解决方案1】:

    如果所有依赖项都是您需要的,那么使用 requirejs + aurelia-cli 您必须声明所有依赖项。有一个正在开发的 cli 的实验版本,您可以找到 here,您不必再在 aurelia.json 中声明任何依赖项。

    使用 webpack 你也不需要顺便声明任何依赖。

    你真的需要一切吗? docs 提到例如您可以只导入客户端。看起来仍然像一大堆依赖项,但至少比导入主 index.js 少很多。

    您也可以只包括他们预先捆绑的客户端,我认为是https://js.braintreegateway.com/web/3.32.1/js/client.min.js

    顺便说一句,开发上述实验性 CLI 的人实际上是在寻找人们用非平凡的应用程序对其进行测试。我和其他几个人都试过了,效果很好,所以我可以推荐你试试。如果您可以在PR 中进行报告,那就太棒了。

    【讨论】:

    • 谢谢。我将如何将预先捆绑的客户端直接包含在我的代码中?我需要能够在我的视图模型中导入代码,以便我可以调用客户端。即我需要说“import * as client from X”
    • 可能最容易下载预捆绑的文件,并将其保存在scripts/braintree-web.3.32.1-client.min.js 或其中的某处。然后只需将其添加到您的捆绑包的prepend 部分,就在require.js 之前。它将通过braintree. 命名空间在全球范围内可用。如果您使用 typescript,将 @types/braintree-web 作为开发依赖项安装可能是一个好主意。
    • 谢谢 Fred,我也去看看那个 PR。
    • 设置相同,只需检查正确的标签:git clone https://github.com/huochunpeng/cli aurelia-cligit checkout tags/at12cd aurelia-clinpm installnpm linknpm install gulp@^4.0.0 typescript babel-register babel-polyfill,您就完成了。然后在项目目录npm link aurelia-cli
    猜你喜欢
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    相关资源
    最近更新 更多