【问题标题】:Building multiple bundles with r.js使用 r.js 构建多个包
【发布时间】:2015-02-16 13:19:36
【问题描述】:

希望是一个低调的概念性问题。我无法理解r.js build configsmodules 选项。我想用一个 r.js 构建配置构建多个具有嵌套依赖关系的模块。

假设我有以下项目结构:

+---build
+---src
    +---moduleOne
    |   +---moduleOne.js
    |   \---dependecyForModuleOne.js
    +---moduleTwo
    |   +---moduleOne.js
    |   \---dependecyForModuleTwo.js
    |---buildConfig.js
    |---devModuleConfig.js
    \---prodModuleConfig.js

devModuleConfigprodModuleConfig 是 dev 和 prod 运行时配置,buildConfig.js 是 r.js 构建配置。

现在,我可以使用这个配置构建 moduleOne 了:

({
    "baseUrl": "./",

    "name": "moduleOne/moduleOne",
    "out": "../build/moduleOneBundle.js",

    mainConfigFile: 'devModuleConfig.js',
    optimize: 'none'
})

我最终在构建中得到了一个包,我可以在构建配置中指定不同的路径后运行它:

+---build
    \---moduleOneBundle.js

我想构建两个模块,所以使用modules 配置选项指定moduleOne

({
    "baseUrl": "./",
    modules: [
        {
            "name": "moduleOne/moduleOne",
            "out": "../build/moduleOne.js"
        }
    ],

    dir:"../build", //   <-- r.js says I need to add this.  why?

    mainConfigFile: 'devModuleConfig.js',
    optimize: 'none'
})

除了必需的dir 选项外,我还获得了build 目录中的所有配置,但我没有指定它们,也没有获得捆绑的模块,并且我获得了一个包含r 的文本文件。 js构建输出。事实上,build 最终看起来与 src 完全相同:

+---build
    +---moduleOne
    |   +---moduleOne.js
    |   \---dependecyForModuleOne.js
    +---moduleTwo
    |   +---moduleOne.js
    |   \---dependecyForModuleTwo.js
    |---build.txt
    |---buildConfig.js
    |---devModuleConfig.js
    \---prodModuleConfig.js

如何配置多个模块以使用一个 r.js 配置进行构建?我已经阅读了几次文档,无法理解它。

你可以在这里看到我的项目:https://github.com/sennett/r.js-multiple-modules

【问题讨论】:

    标签: build module requirejs bundle r.js


    【解决方案1】:

    指定modules 时,r.js 包含所有文件,然后根据modules 中指定的规则优化文件。 removeCombined: truebuild 中删除组合到另一个模块中的模块,然后手动删除其他文件可用于手动清理任何不需要的构建工件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      相关资源
      最近更新 更多