Javascript 如何在ember cli中设置标志,而不是环境?
目前这是可能的:Javascript 如何在ember cli中设置标志,而不是环境?,javascript,ember.js,ember-cli,Javascript,Ember.js,Ember Cli,目前这是可能的: ember build --environment=production 。。。我想这样做: ember build --environment=production --baseurl=foo 但是config/environment.js只在environment的值中传递 是否也可以获取在命令行中传入的其他选项的值?似乎不允许这样做: 查看node\u modules/ember cli/lib/commands/build.js,我们看到: availableOpt
ember build --environment=production
。。。我想这样做:
ember build --environment=production --baseurl=foo
但是config/environment.js
只在environment
的值中传递
是否也可以获取在命令行中传入的其他选项的值?似乎不允许这样做: 查看
node\u modules/ember cli/lib/commands/build.js
,我们看到:
availableOptions: [
{ name: 'environment', type: String, default: 'development' },
{ name: 'output-path', type: path, default: 'dist/' }
],
。。。在node\u modules/ember cli/lib/models/command.js中
this.availableOptions.forEach(function(option) {
knownOpts[option.name] = option.type;
});
。。。这意味着,对于ember
的每个子命令,任何未定义的选项都将被丢弃。您可以从终端或作为构建脚本的一部分使用老式方式(export where=wee
)设置环境变量,然后使用process.env.which
通过节点在Brocfile.js
中引用它们。在那之后,这将是一个让花椰菜做任何你需要做的事情。例如,您可以预处理文件并替换字符串
。。。只是一个建议。不确定这是否是您想要的。您可以执行foo=bar ember build
(但是执行ember build foo=bar
不起作用)
这个论点可以通过process.env.foo
来扩展@ben的答案
原始命令行参数在ember cli build.js
和来自
process.argv.[]
这样的命令
ember构建阶段
您可以通过以下方式访问:
process.argv.包括('staging')
有关可用的内容,请参阅节点文档
@Ben Lesh谢谢你的回答。这确实是我解决问题的方法(甚至在问问题之前)+1和检查给你。。。我只是想知道ember cli是否允许其他参数/参数。是否可以运行像ember server--environment=Test这样的程序?您还可以使用process.env.VARNAME直接访问environment.js中的任何环境变量