我已经使用Webix来构建我的整个Web应用程序,所以它的客户端很重。我是否正确地假设在需要模块时我不应该使用require.js异步属性?
所以我不是使用data-main而是为每个页面创建一个require.config?
答案 0 :(得分:1)
不知怎的,您已经推断出使用data-main
会使RequireJS异步运行。但事实并非如此。使用或不使用data-main
没有区别:RequireJS将异步加载模块。当您在浏览器中使用RequireJS时,情况总是如此。即使你看到这样的代码:
define(function (require) {
var foo = require("foo");
[...]
});
这是静默转换为异步形式:RequireJS分析回调中的代码,拉出依赖项,异步加载它们,然后控制回调。到那时,require
调用只是在表中查找,但模块是事先异步加载的。
“RequireJS异步加载模块”的例外情况是在Node中使用RequireJS。在节点中使用它时,可以同步加载模块。但data-main
不是那里的因素。