如何使用 requireJs 加载包含多个模块的合并 JS 文件?
How to load a merged JS file containing several modules with requireJs?
这是我一年多以来一直在努力解决的问题,我不明白我们应该如何一次加载包含多个 AMD 模块的 JS 文件,以避免发出尽可能多的 HTTP 请求JS 文件。
既然我们必须在 RequireJS 配置中单独定义每个模块,那么如何一次只加载一个包含所有模块的合并 JS 文件?
这是我的 RequireJS 加载器:https://gist.github.com/Vadorequest/9553eaf27ac1f469cf63
在那个文件中,我想合并的是:
- requirejs 库(domReady、text、markdown)
- 服务端与客户端共享源码(Lang,MessageLang...View)
因为这些文件会递增,增加HTTP调用的次数。
您必须在构建步骤中执行此操作。您是否考虑使用 RequireJS Optimizer?
文档非常可靠,您需要在您的需求配置中添加几个参数:
{
baseUrl: ".",
paths: {
jquery: "some/other/jquery"
},
name: "main",
out: "scripts.js"
}
这将生成一个文件 (scripts.js),其中包含您的所有文件。如果您想将一些文件组合在一起,还有一个捆绑选项 requirejs bundles
我个人使用 gulp 来处理我的构建过程,所以我实际上使用 gulp-requirejs-bundler,但同样的原则适用。
这是我一年多以来一直在努力解决的问题,我不明白我们应该如何一次加载包含多个 AMD 模块的 JS 文件,以避免发出尽可能多的 HTTP 请求JS 文件。
既然我们必须在 RequireJS 配置中单独定义每个模块,那么如何一次只加载一个包含所有模块的合并 JS 文件?
这是我的 RequireJS 加载器:https://gist.github.com/Vadorequest/9553eaf27ac1f469cf63
在那个文件中,我想合并的是:
- requirejs 库(domReady、text、markdown)
- 服务端与客户端共享源码(Lang,MessageLang...View)
因为这些文件会递增,增加HTTP调用的次数。
您必须在构建步骤中执行此操作。您是否考虑使用 RequireJS Optimizer?
文档非常可靠,您需要在您的需求配置中添加几个参数:
{
baseUrl: ".",
paths: {
jquery: "some/other/jquery"
},
name: "main",
out: "scripts.js"
}
这将生成一个文件 (scripts.js),其中包含您的所有文件。如果您想将一些文件组合在一起,还有一个捆绑选项 requirejs bundles
我个人使用 gulp 来处理我的构建过程,所以我实际上使用 gulp-requirejs-bundler,但同样的原则适用。