1

我正在尝试在我的 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,但这是以完全相同的方式未定义的。

我如何在 Braintree 使用它?

提前致谢!

4

1 回答 1

2

服务器包要求在包外使用的符号用api.export. 看起来您引用的包是在 meteor v0.6.5之前构建的。我记得, EventedMind 上的这个视频解释了所有这些是如何工作的。我怀疑您的问题的解决方案只是让您package.js看起来像:

Package.on_use(function (api) {
  api.export('Braintree');
  api.use(...);
  api.add_files(...);
});
于 2014-03-03T18:45:21.727 回答