希望是个低球概念问题。我很难理解modules的r.js构建信任选项。我希望用一个r.js构建配置来构建多个具有嵌套依赖关系的模块。
假设我有以下项目结构:
+---build
+---src
+---moduleOne
| +---moduleOne.js
| \---dependecyForModuleOne.js
+---moduleTwo
| +---moduleOne.js
| \---dependecyForModuleTwo.js
|---buildConfig.js
|---devModuleConfig.js
\---prodModuleConfig.jsdevModuleConfig和prodModuleConfig是开发和prod运行时信任,buildConfig.js是r.js构建配置。
现在,我可以使用这个配置构建moduleOne了:
({
"baseUrl": "./",
"name": "moduleOne/moduleOne",
"out": "../build/moduleOneBundle.js",
mainConfigFile: 'devModuleConfig.js',
optimize: 'none'
})最后,在build配置中指定了不同的路径之后,可以运行一个包:
+---build
\---moduleOneBundle.js我想构建两个模块,所以使用moduleOne配置选项指定modules:
({
"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 dir中获得所有的信任,但是我没有指定它们,也没有得到绑定的模块,并且我得到了一个包含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
发布于 2015-02-16 15:08:07
当指定modules时,r.js包含所有文件,然后根据modules中指定的规则对文件进行优化。removeCombined: true从build中删除合并到另一个模块中的模块,然后手动删除其他文件可以用于手动清除任何不必要的构建人工制品。
https://stackoverflow.com/questions/28542353
复制相似问题