2014-10-31 64 views
1

我正在使用ember-cli,並且我注意到兩個看起來用於相同目的的地方。ember-cli rootUrl和locationType的重複配置位置設置?

配置

/environment.js

var ENV = { 
    baseURL: '/', 
    locationType: '' 

應用程序/ router.js

var Router = Ember.Router.extend({ 
    rootUrl: config.baseUrl 
    location: config.locationType, 
}); 

如果這些始終是相同的?他們之間有什麼區別?

回答

1

花點時間看看router.js,注意import config from './config/environment';

它們之間的區別因素是config/environment.js是所有的設置定義和router.js通過調用config.baseUrl利用的定義是什麼模塊,根據您正在運行的應用程序會給出不同的結果,環境,它允許你指定取決於ENV

if (environment === 'production') { 
    ENV.baseURL = '/'; 
} 

if (environment === 'production') { 
    ENV.baseURL = '/beta/'; 
} 

所以,當你運行ember build或不同的值你不必手動修改你定義的一個baseUrl文件中的每個文件。當然是啊!

+0

啊!謝謝你打開我的眼睛。 IMO的名字在這兩個文件中應該是相同的 – user391986 2014-10-31 23:22:33

+0

@ user391986名稱可以是任何你想要的名稱,因爲在environment.js中我們導出默認值,你可以從'./config/environment'中導入myOwnConfigName' – 2014-10-31 23:31:47