【问题标题】:How to load a merged JS file containing several modules with requireJs?如何使用 requireJs 加载包含多个模块的合并 JS 文件?
【发布时间】:2015-07-20 06:25:53
【问题描述】:

这是我一年多以来一直在努力解决的问题,我不明白我们应该如何一次加载包含多个 AMD 模块的 JS 文件以避免发出与 JS 文件一样多的 HTTP 请求.

既然我们必须在 RequireJS 配置中单独定义每个模块,那怎么可能一次只加载一个包含所有模块的合并 JS 文件呢?

这是我的 RequireJS 加载器:https://gist.github.com/Vadorequest/9553eaf27ac1f469cf63

在那个文件中,我想合并的是:

  • requirejs 库(domReady、text、markdown)
  • 服务端和客户端共享源代码(Lang、MessageLang...查看)

因为这些文件会逐渐增加,增加 HTTP 调用的次数。

【问题讨论】:

    标签: javascript merge requirejs


    【解决方案1】:

    您必须在构建步骤中执行此操作。有没有考虑使用RequireJS Optimizer

    文档非常扎实,您需要向您的需求配置添加几个参数:

    {
      baseUrl: ".",
      paths: {
        jquery: "some/other/jquery"
      },
      name: "main",
      out: "scripts.js"
    }
    

    这将生成一个文件 (scripts.js),其中包含您的所有文件。如果您想将一些文件组合在一起,还有一个捆绑选项requirejs bundles

    我个人使用 gulp 来处理我的构建过程,所以我实际上使用 gulp-requirejs-bundler,但同样的原则也适用。

    【讨论】:

    • 我很久以前看了一下那个优化器,但当时我不明白我不得不使用r.js,现在清楚多了,谢谢。我通常使用 grunt,所以 github.com/gruntjs/grunt-contrib-requirejs 会为我做,谢谢!
    猜你喜欢
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 2014-12-15
    相关资源
    最近更新 更多