在boilerplatejs它看起来像模块,预装
(参照下面的代码)
return [
require('./baseModule/module'),
require('./sampleModule2/module'),
require('./customerModule/module'),
require('./orderSearchModule/module'),
require('./orderListModule/module'),
require('./mainMenuModule/module')
];
是什么在这方面的影响,当涉及到大规模的网络应用程序(模块重Web应用程序)。 有没有办法在boilerplatejs延迟加载模块?
Java的脚本有机制没有反射式加载的东西。 需要加载任何模块在某处被注册。 这就是为什么模块(子上下文)加载如下:
appContext.loadChildContexts(moduleContexts);
(在SRC / application.js中)
但是,你有上面的代码是关于requirejs AMD模块。 这基本上是不同的JS脚本(模块每个代表代码)的进口。 随着requireJS AMD,脚本(源代码)不懒加载,而是预装。 因为你的应用程序源代码这是有意义的,应在浏览器中执行可用。 在另一方面,当你做JS优化,无论如何,我们创建一个包含所有源代码一个脚本。 那么就没有具有单独的脚本文件,或源代码的迟缓装载的含义。
但是,延迟加载,应适用于行为(不加载代码)。 这就是为什么UI组件(ViewTemplate)仅在“激活()”方法创建的。 这些仅仅是当用户为它造就的。 这是行为的延迟加载,所以应用渲染时间较少。
this.activate = function(parent, params) {
// if panel is not created, lets create it and initiate bindings
if (!panel) {
panel = new Boiler.ViewTemplate(parent, template, nls);
...
}
vm.initialize(params.name);
panel.show();
}