在RequireJS中与主执行分开配置

时间:2014-08-04 17:19:31

标签: javascript requirejs

我已将data-main的{​​{1}}入口点包含在here in the docs中。

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

app-main.js 文件如下所示:

requirejs.config({
    baseUrl: 'js/myapp/',
    ...
});

requirejs(['main']);

我想将需求配置与主执行分开(例如,在生产和测试环境之间共享配置)。

所以基本上我需要一个 app.js 文件(仅限配置):

requirejs.config({
    baseUrl: 'js/myapp/',
    ...
});

和启动应用程序执行的 main.js 文件(不包含在测试环境中)。

如何使用单个data-main入口点包含这两个文件(顺序正确)?


我尝试使用包含require(['app','main']); app-main.js 文件,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您可以放弃数据主要的便捷方法,并手动包含它们。

<script src="js/lib/require.js"></script>
<script>

// Optionally set base url depending on environment.
// Otherwise could just include in app.js
require.config({baseUrl : <% baseUrl %>})

//require app config file first
require(['app'], function() {
  require(['main'])
});

</script>

虽然这会产生额外的HTTP请求,但如果您使用r.js优化器,这应该不是问题,因为您可以将require.js捆绑到主配置模块中。