我正在尝试在我的 Meteor 应用程序中使用 Braintree,并且我已经按照这篇关于该主题的博客文章的说明制作了这个 Braintree 打包的本地包,并且安装顺利。
不过现在,我有这段代码:
// defined in server/fixtures.js
Gateway = braintree.connect({
environment: braintree.Environment.Sandbox,
merchantId: "secret",
publicKey: "secret",
privateKey: "secret"
});
它抛出这个错误:
ReferenceError: braintree is not defined
(etc....)
然后,我尝试按照 Braintree 文档的建议加入这一行,但它只是抛出了一个未定义"require"的错误。
var braintree = require("braintree");
Braintree文档使用Express方法来实现一切,但这并没有太大帮助。
我之前引用的包定义了它server.js
的单行:
Braintree = Npm.require("braintree");
所以我尝试将我的引用更改为 Braintree
而不是 braintree
,但这未以完全相同的方式定义。
我如何在布伦特里使用它?
提前感谢!
服务器软件包要求在软件包外部使用的符号与api.export
一起导出。看起来您引用的软件包是在 meteor v0.6.5 之前构建的。我记得,EventedMind上的这段视频解释了这一切是如何工作的。我怀疑您问题的解决方案只是使您的package.js
看起来像这样:
Package.on_use(function (api) {
api.export('Braintree');
api.use(...);
api.add_files(...);
});