4

我的 JavaScript 组织如下所述:https ://stackoverflow.com/a/10816983/83897 。

我有一个重 JavaScript 的 ASP.NET 应用程序,它有多个不同的页面(而不是单页应用程序)。每个页面都有不同的依赖关系,所以我有一个每页的 .js 文件(page1.js、page2.js 等)。每个都有一个 require() 调用,声明其依赖项:

require(['jquery', 'page1Module'], function($, module){
    // page1 specific stuff here
});

这工作正常。我想知道的是,RequireJS 构建过程如何工作?我想我想要一个每页的“构建”.js 文件(例如 page1-build.js、page2-build.js 等)?有没有我可以利用的现有软件?

该过程可能如下所示:

  1. 将给定脚本的所有依赖项编译到临时目录中的一个 build.js 文件中。
  2. 计算编译文件的 MD5 指纹。
  3. 将该指纹与公共/资产中的可比较文件进行比较。
  4. 创建一个内存中的 RequireJS 清单,将每个模块映射到已编译的文件。将此清单附加到已编译的文件中。
  5. 不知何故让生产使用构建文件。

编辑:经过一番思考,我认为使用 node + r.js 的 RequireJS 优化将只是更大资产构建过程的一部分,其中资产构建依赖于其他一些第三方库。RequireJS 优化将仅用于某些 JavaScript 依赖项(即每个页面的 JavaScript 文件,包括找到的依赖项),可能在某些 XML 配置中指定。

4

1 回答 1

3

您可以通过在构建配置文件中指定模块来创建多个优化文件:

{
   modules: [
     {
         name: "main"
     },
     {
        name: "page1",
        include: ["dep1", "shim2"],
        exclude: ["main"]
     }]
}

每个条目将生成一个优化.js文件。

更多信息:如何在多页项目中使用 RequireJS 构建配置文件 + r.js

于 2012-08-24T18:23:09.697 回答