r.js-优化目录,但跳过包含/连接的文件



我有一个很好的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最新版本中添加的一个选项。

最新更新