在settings.json中引用Meteor对象时出错

时间:2017-03-13 19:46:02

标签: javascript meteor

此Meteor服务器代码正在将此错误打印到控制台。

  

TypeError:无法读取未定义的属性“BT_PRIVATE_KEY”

'braintreeConn': () => {
      let env;
      // Pick Braintree environment based on environment defined in Meteor settings.
      if (Meteor.settings.public.env === 'Production') {
        env = Braintree.Environment.Production;
      } else {
        env = Braintree.Environment.Sandbox;
      }
      // Initialize Braintree connection:
      gateway = BrainTreeConnect({
        environment: env,
        publicKey: Meteor.settings.public.BT_PUBLIC_KEY,
        privateKey: Meteor.settings.private.BT_PRIVATE_KEY, //<--------Error----
        merchantId: Meteor.settings.public.BT_MERCHANT_ID
      });
    }

这是settings.json

{
  "env": {
    "MONGO_URL":"mongodb://someURL"
  },
  "public" : {
    "env": "Sandbox",
    "BT_MERCHANT_ID": "xxxxxxxxxxxxxxxx",
    "BT_PUBLIC_KEY": "xxxxxxxxxxxxxxxx"
  },
  "private": {
    "BT_PRIVATE_KEY": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  }
}

知道为什么吗?以及如何解决它? THX

修改
我正在运行这样的流星:

MONGO_URL=mongodb://127.0.0.1:3001/meteor meteor --port=4000

1 个答案:

答案 0 :(得分:0)

settings.json的private部分中的设置只能在服务器上读取。确保此代码未在共享/客户端空间中执行,因为这会生成此确认错误。