Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor:如何根据CLI参数加载不同的文件?_Meteor - Fatal编程技术网

Meteor:如何根据CLI参数加载不同的文件?

Meteor:如何根据CLI参数加载不同的文件?,meteor,Meteor,在我的Meteor(1.2)应用程序中,我将开发和生产文件分开 e、 g client/lib/appVars.config.PROD.js client/lib/appVars.config.config.js 理想情况下,“孪生”文件具有相同的变量、函数等,但差异不大,但调试和生产常用的(全局)变量和函数具有相同的名称 有没有一种方法可以使用命令行参数DEBUG_MODE=true | false调用meteor run,这样我就可以根据当前模式(调试、生产)加载一个或另一个文件了?设置

在我的Meteor(1.2)应用程序中,我将开发和生产文件分开

e、 g

  • client/lib/appVars.config.PROD.js
  • client/lib/appVars.config.config.js
理想情况下,“孪生”文件具有相同的变量、函数等,但差异不大,但调试和生产常用的(全局)变量和函数具有相同的名称


有没有一种方法可以使用命令行参数DEBUG_MODE=true | false调用meteor run,这样我就可以根据当前模式(调试、生产)加载一个或另一个文件了?

设置不同的环境变量并通过CLI运行
meteor run--settings settings.json

然后您只需要一个development and production(和staging?)settings.json

设置文件的示例:

{
  "awsBucket": "my-example-staging",
  "awsAccessKeyId": "AABBCCddEEff12123131",
  "awsSecretKey": "AABBCCddEEff12123131+AABBCCddEEff12123131",
  "public": {
    "awsBucketUrl": "https://my-meteor-example.s3.amazonaws.com",
    "environment": "staging"
  },
  "googleApiKey": "AABBCCddEEff12123131"
}
编辑添加:

要访问环境密钥,只需选择

Meteor.settings.awsBucket
安全更新(感谢Dave Weldon)

重新生产与开发相比,您应该有两个settings.json文件,一个用于生产(.config/settings.json)的标准文件,一个用于开发(.config/development/config.json),当您在生产之外启动时,您将启动meteor--settings.config/development/settings.json

对于客户端,请注意,如果您将密钥公开,例如

{
  "service_id":"...",
  "service_secret":"...",
  "public":{
      "service_name":"..."
  }
}

然后,只有
Meteor.settings.public.service\u name
可以在客户端访问

谢谢。这是否意味着我需要根据环境更改settings.json文件?还有,我应该把文件放在哪里?此外,如何访问meteor应用程序中settings.json中的字段?您可以将文件放入应用程序的根目录中,如图所示。有关更多示例和安全注意事项,请参阅。更新以回答您的问题dragonmnl,希望一切正常