在Webix(客户端框架)中使用Require.js的异步属性?

时间:2017-04-06 19:30:57

标签: javascript asynchronous requirejs webix

我已经使用Webix来构建我的整个Web应用程序,所以它的客户端很重。我是否正确地假设在需要模块时我不应该使用require.js异步属性?

所以我不是使用data-main而是为每个页面创建一个require.config?

1 个答案:

答案 0 :(得分:1)

不知怎的,您已经推断出使用data-main会使RequireJS异步运行。但事实并非如此。使用或不使用data-main没有区别:RequireJS将异步加载模块。当您在浏览器中使用RequireJS时,情况总是如此。即使你看到这样的代码:

define(function (require) {
  var foo = require("foo");
  [...]
});

这是静默转换为异步形式:RequireJS分析回调中的代码,拉出依赖项,异步加载它们,然后控制回调。到那时,require调用只是在表中查找,但模块是事先异步加载的。

“RequireJS异步加载模块”的例外情况是在Node中使用RequireJS。在节点中使用它时,可以同步加载模块。但data-main不是那里的因素。