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

时间:2014-02-12 17:19:37

标签: javascript requirejs r.js

我有一个很好的require.js + r.js设置。现在,我似乎在这两者之间选择了“一个或另一个”:

  • 使用名称 + out 选项只创建一个js文件,没有别的
  • 使用 appDir + dir 选项,将所有文件从appDir复制到目录

第二个选项是我目前使用的。无论如何,这将复制并缩小实际包含在我编译的main.js中的大量文件。这些文件永远不会被加载。

r.js是否有一些选项可以跳过属于缩小过程的文件?

一个Illustratrion

让我假装我在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

第一个选项(名称+输出)只会产生一个巨大的uglified 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中包含的库)。

1 个答案:

答案 0 :(得分:1)

在我看来removeCombined是您想要的选项。从列出all options的文件:

//If set to true, any files that were combined into a build bundle will be
//removed from the output folder.
removeCombined: false,

false值显示默认值。

顺便说一下,真的值得浏览这个文件并查看所有选项,因为引入优化器的page并不是所有的方法。最近再次讨论它,我发现了最新版本的RequireJS中添加了一个选项。