【发布时间】:2015-02-16 13:19:36
【问题描述】:
希望是一个低调的概念性问题。我无法理解r.js build configs 的modules 选项。我想用一个 r.js 构建配置构建多个具有嵌套依赖关系的模块。
假设我有以下项目结构:
+---build
+---src
+---moduleOne
| +---moduleOne.js
| \---dependecyForModuleOne.js
+---moduleTwo
| +---moduleOne.js
| \---dependecyForModuleTwo.js
|---buildConfig.js
|---devModuleConfig.js
\---prodModuleConfig.js
devModuleConfig 和 prodModuleConfig 是 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