2016-11-16 97 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