目前可能:
ember build --environment=production
......我想做一些这样的事情:
ember build --environment=production --baseurl=foo
但config/environment.js
仅传递environment
的值。
是否可以获取在命令行传递的其他选项的值?
答案 0 :(得分:7)
您可以从终端或作为构建脚本的一部分以旧式方式(export WHATEVER=wee
)设置环境变量,然后在Brocfile.js
via节点中使用process.env.WHATEVER
引用它们。在那之后,这将是一个让西兰花做任何你需要做的事情。例如,您可以预处理文件并替换字符串。
......只是一个建议。不确定这是否是您正在寻找的内容。
答案 1 :(得分:6)
似乎不允许这样做:
查看node_modules/ember-cli/lib/commands/build.js
,我们看到:
availableOptions: [
{ name: 'environment', type: String, default: 'development' },
{ name: 'output-path', type: path, default: 'dist/' }
],
...并在node_modules/ember-cli/lib/models/command.js
this.availableOptions.forEach(function(option) {
knownOpts[option.name] = option.type;
});
...这一共同意味着,对于ember
的每个子命令,未定义的任何选项都将被丢弃。
答案 2 :(得分:1)
您可以执行foo=bar ember build
(但ember build foo=bar
无法正常工作)
论证可以通过process.env.foo
获得。
答案 3 :(得分:1)
扩展@ben的答案。
原始命令行参数在ember-cli-build.js
和
process.argv.[]
这样的命令
ember build staging
您可以通过以下方式访问:
process.argv.includes('staging')
请参阅节点的文档以了解可用的内容。