2014-07-07 32 views
11

這是目前可能的:如何在ember-cli中設置標誌,而不是環境?

ember build --environment=production 

...我願做這樣的事情,而不是:

ember build --environment=production --baseurl=foo 

config/environment.js只獲取的environment的值傳遞。

是否有可能獲得通過命令行傳入的其他選項的值?

回答

4

您可以從終端設置環境變量(export WHATEVER=wee)或作爲構建腳本的一部分,然後通過process.env.WHATEVER通過節點在Brocfile.js中引用它們。之後,這將是一個西蘭花做你需要做的任何事情。例如,您可以預處理文件並替換字符串。

...只是一個建議。不知道這是你尋找與否。

+1

@ Ben Lesh謝謝你的回答。這確實是我解決問題的方法(甚至在提出問題之前)。 +1並檢查你! ...我只是想知道,如果ember-cli允許額外的參數/參數。 – bguiz

+0

是否可以運行類似於**燼器服務器--environment = test ** – SuperUberDuper

+0

您還可以直接在environment.js中訪問任何環境變量,並使用process.env.VARNAME –

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的每個子命令都將被丟棄。

0

你可以做foo=bar ember build(但是做ember build foo=bar不工作)

和參數是通過process.env.foo可用。

相關問題