我们有一个大型单页面应用程序,大约有200个模块 -
当我们使用优化器时 - 我们最终会将所有模块放在一个文件中,并使用uglified等.工作得非常好.
但是我们的应用程序是一种多租户应用程序,每个用户都不需要所有200个模块.
我们可以将模块大致划分为50个通用模块,如果用户类型为"A",则需要100个模块,对于用户类型"B"等,需要50个模块.
现在,如果用户类型为"B",则下载的单个优化文件包含100个从不使用的模块.不知何故,如果我们可以避免这些,文件大小将会小得多,这将真正提高性能.
总之,我正在寻找这个 - 我们有模块组 - 将模块组优化到它自己的文件中 - 根据用户的需要下载相应的文件.
是否可以使用requireJS进行这种优化?
谢谢,J.
您可以构建一个基本模块,其中包含启动应用程序所需的所有内容以及大多数用户将看到的内容。来自文档:
优化器只会组合在传递给顶级 require 和定义调用的字符串文字数组中指定的模块,或简化的 CommonJS 包装中的 require('name') 字符串文字调用。因此,它不会找到通过变量名加载的模块
...
即使在优化之后,此行为也允许动态加载模块。您始终可以使用 include 选项显式添加优化器静态分析未找到的模块。
您不希望其中包含的所有模块都必须在您的模块中像这样要求:
define(["require"], function(require) {
return function(b) {
var lib = 'lib'
var a = require(lib);
a.doSomething(b);
}
}
);
Run Code Online (Sandbox Code Playgroud)
因此它们不会成为您初始加载的一部分,而是在需要时加载。
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |