2016-11-16 75 views
0

在app.js中,我正在爲我的項目編寫配置。我想從某些外部文件config.js中選擇jquery的版本號,而不是在app.js中對其進行硬編碼。我怎樣才能做到這一點?RequireJS:從app.js讀取配置

我已經貼了app.js,config.js和index.html下面的代碼:

config.js

define(function() { 
    var Config = { 
    jquery: "3.1.0" 
    }; 
    return Config; 
}); 

的Index.html:

<script src="require.js" data-main="js/app"></script> 

app.js

requirejs.config({ 
    paths: { 
    jquery: serverUrl + "/jquery-3.1.0.min", 
    } 
}); 

我無法將requirejs.config()移動到config.js文件,因爲serverUrl是根據我的項目結構無法從config.js檢索的變量。

回答

0

最簡單的方法就是在app.js之前加載一個配置文件並引用它。

<script src="config.js"></script> 
<script src="require.js" data-main="js/app"></script> 

config.js可能包含:

window.fooConfig = { 
    serverUrl: 'some appropriate URL', 
} 

我用window明確地說清楚我把東西在全球空間故意fooConfig這個名字只是一個可以用於名爲foo的應用程序的例子。你可以選擇一些獨特的東西來避免與其他代碼的衝突。

然後你app.js會做:

requirejs.config({ 
    paths: { 
    jquery: fooConfig.serverUrl + "/jquery-3.1.0.min", 
    } 
}); 
+0

我沒有辦法在config.js獲得的serverUrl。它只能從app.js訪問。這是我的項目的限制。 Config.js應該只包含必須在app.js中使用的jquery版本。 – Ankita