如何防止requirejs包含所有源文件而只包含模块文件?

如何防止requirejs包含所有源文件而只包含模块文件?,requirejs,gruntjs,Requirejs,Gruntjs,当我用r.js构建一个项目时(我是通过grunt进行的,但我离题了),它会丑化并压缩项目的所有javascript文件,并将它们包含在build文件夹中,即使所有这些文件都已压缩到一个javascript文件中,并且不再以各自的形式使用 我使用的是模块,所以我不能使用“out”标志b/c,因为它不兼容。我正在使用grunt contrib clean来清理所有额外的文件,但是如果我能避免首先包括它们,那将是理想的 以下是我的grunt options.js: module.exports = {

当我用r.js构建一个项目时(我是通过grunt进行的,但我离题了),它会丑化并压缩项目的所有javascript文件,并将它们包含在build文件夹中,即使所有这些文件都已压缩到一个javascript文件中,并且不再以各自的形式使用

我使用的是模块,所以我不能使用“out”标志b/c,因为它不兼容。我正在使用grunt contrib clean来清理所有额外的文件,但是如果我能避免首先包括它们,那将是理想的

以下是我的grunt options.js:

module.exports = {
  appDir: 'src',
  baseUrl: 'js/',
  mainConfigFile: 'src/js/common.js',
  dir: 'www',
  modules: [
    {
      name: 'common',
      include: [
          'jquery',
          'underscore',
          'handlebars',
          'hbs',
          'i18nprecompile',
          'json2',
          'Class'
      ]
    },
    {
        name: 'app/page1',
        exclude: ['common']
    },
    {
        name: 'app/page2',
        exclude: ['common']
    }
  ]
};
构建时,它包含lib文件夹中的所有文件(当唯一需要的文件是require.js时),并包含所有由page1和page2导入的javascript文件的uglified版本,即使所有这些文件都已合并到page1.js和page2.js中


我是否遗漏了一些东西,或者生成后清理只是生活中的一个事实?

只需将
removeCombined
设置为false即可修复:

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

有关任何其他生成选项的详细信息。

要做到这一点,您可以使用:

skipDirOptimize: true, 
removeCombined: true
skipDirOptimize:true
将阻止requirejs优化其他文件

removeCombined:true
将删除所有合并到模块的文件