我有一个很好的require.js+r.js设置。现在,我似乎在这两者之间有"一个或另一个"的选择:
- 使用name+out选项只创建一个js文件,不创建其他文件
- 使用appDir+dir选项,将所有文件从appDir复制到dir
第二个选项是我当前使用的选项。然而,这将复制和缩小我编译的main.js中实际包含的许多文件。这些文件永远不会被加载。
r.js是否可以跳过缩小过程中的文件?
插图
让我们假设我在appDir
:中有这些文件
index.html
main.js
lib/
- libA.js (dependency of main, will be loaded by require.js)
- libB.js (dependency of main, will be loaded by require.js)
- libC.js (loaded any other way)
img/
- imgA.png
- imgB.png
第一个选项(名称+输出)只会产生一个巨大的放大main.js
。
main.js
第二个选项(appDir+dir)将在dir/
中创建类似的内容
index.html
main.js (uglified)
lib/
- libA.js (uglified and will never be loaded)
- libB.js (uglified and will never be loaded)
- libC.js (uglified and used)
img/
- imgA.png
- imgB.png
我真正想要的是:
index.html
main.js
lib/
- libC.js (no libA.js / libB.js)
img/
- imgA.png
- imgB.png
(所以没有main.js中包含的库)。
在我看来,removeCombined
是您想要的选项。从列出所有选项的文件:
//If set to true, any files that were combined into a build bundle will be
//removed from the output folder.
removeCombined: false,
此处的false
值显示默认值。
顺便说一句,浏览这个文件并查看所有选项确实很有价值,因为介绍优化器的页面并没有涵盖所有选项。最近我又看了一遍,发现了RequireJS最新版本中添加的一个选项。