我有兴趣为我网站上的所有 JavaScript 代码创建一个单一的配置对象。我找到了https://github.com/requirejs/example-multipage-shim,这是此设置的一个示例。
来自https://github.com/requirejs/example-multipage-shim(重点是我的):由于 shim 配置要求依赖项位于页面中,而不是对 page1.html 使用 data-main="js/page1",此示例内联 HTML 页面中的 require 调用。如果改为使用 data-main,则 'js/page1' 不能有任何内联依赖项,而是仍然依赖 'common' 和 'app/main1' 构建层来保存模块,因为 shim 配置位置的限制在构建上。
我不明白加粗的句子。这是否意味着“js/page1”如果存在就不能声明依赖关系?内联依赖是什么意思?内联成什么?HTML 文件还是 JavaScript 文件?
我阅读了有关 shim config 的 API 文档,但它对优化器的限制尚不清楚。
从https://github.com/requirejs/example-multipage-shim/blob/master/www/page1.html:
<script src="js/lib/require.js"></script>
<script>
//Load common code that includes config, then load the app
//logic for this page. Do the require calls here instead of
//a separate file so after a build there are only 2 HTTP
//requests instead of three.
require(['./js/common'], function (common) {
//js/common sets the baseUrl to be js/ so
//can just ask for 'app/main1' here instead
//of 'js/app/main1'
require(['app/main1']);
});
</script>
为什么以下错误?为什么“app/main1”必须与引导(数据主)代码位于单独的模块中?
<script src="js/lib/require.js"></script>
<script>
require(['js/common'], function (common) {
var underscore = require('underscore');
// ...
});
</script>