這是目前可能的:如何在ember-cli中設置標誌,而不是環境?
ember build --environment=production
...我願做這樣的事情,而不是:
ember build --environment=production --baseurl=foo
但config/environment.js
只獲取的environment
的值傳遞。
是否有可能獲得通過命令行傳入的其他選項的值?
這是目前可能的:如何在ember-cli中設置標誌,而不是環境?
ember build --environment=production
...我願做這樣的事情,而不是:
ember build --environment=production --baseurl=foo
但config/environment.js
只獲取的environment
的值傳遞。
是否有可能獲得通過命令行傳入的其他選項的值?
您可以從終端設置環境變量(export WHATEVER=wee
)或作爲構建腳本的一部分,然後通過process.env.WHATEVER
通過節點在Brocfile.js
中引用它們。之後,這將是一個西蘭花做你需要做的任何事情。例如,您可以預處理文件並替換字符串。
...只是一個建議。不知道這是你尋找與否。
看來,這是不允許的:
在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
的每個子命令都將被丟棄。
你可以做foo=bar ember build
(但是做ember build foo=bar
不工作)
和參數是通過process.env.foo
可用。
@ Ben Lesh謝謝你的回答。這確實是我解決問題的方法(甚至在提出問題之前)。 +1並檢查你! ...我只是想知道,如果ember-cli允許額外的參數/參數。 – bguiz
是否可以運行類似於**燼器服務器--environment = test ** – SuperUberDuper
您還可以直接在environment.js中訪問任何環境變量,並使用process.env.VARNAME –