gpt4 book ai didi

RequireJS - 优化多个文件并按需加载

转载 作者:行者123 更新时间:2023-12-04 16:11:33 24 4
gpt4 key购买 nike

我们有一个大单页具有大约 200 个模块的应用程序 -

当我们使用优化器时 - 我们最终将一个文件中的所有模块都进行了 uglified 等。
工作精美。

但我们的应用程序是一种 Multi-Tenancy 应用程序,每个用户并不需要全部 200 个模块。

我们可以将模块大致分为50个通用模块,如果用户类型为'A'则需要100个模块,用户类型'B'需要50个模块等。

现在,如果用户类型是“B”,则下载的单个优化文件包含 100 个从未使用过的模块。不知何故,如果我们可以避免这些,文件大小会小得多,这将真正提高性能。

简而言之,我正在寻找这个 - 我们有模块组 - 将模块组优化到它自己的文件中 - 根据用户的需求下载相应的文件。

是否可以使用 requireJS 进行这种优化?

谢谢,J。

最佳答案

您可以构建一个基本模块,其中包含启动应用程序所需的所有内容以及大多数用户将看到的内容。 From the docs :

The optimizer will only combine modules that are specified in arrays of string literals that are passed to top-level require and define calls, or the require('name') string literal calls in a simplified CommonJS wrapping. So, it will not find modules that are loaded via a variable name

...

This behavior allows dynamic loading of modules even after optimization. You can always explicitly add modules that are not found via the optimizer's static analysis by using the include option.



您不想在其中拥有的所有模块都必须在您的模块中像这样被要求:
define(["require"], function(require) {
return function(b) {
var lib = 'lib'
var a = require(lib);
a.doSomething(b);
}
}
);

所以它们不会是您初始加载的一部分,而是在需要时加载。

关于RequireJS - 优化多个文件并按需加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13796200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com