RequireJS在优化期间跳过某些文件

时间:2014-01-30 21:43:35

标签: javascript angularjs requirejs gruntjs

我使用requirejs,roptimizer和grunt来运行任务来优化我的angularjs应用程序。

我正在使用以下配置将所有js构建到一个文件中:

({
    name: 'main',
    out: 'app.min.js',
    insertRequire: ['main'],
    wrap: true,
    separateCSS: true,
    mainConfigFile: 'main.js',
    preserveLicenseComments: false,
    optimize: 'uglify2',
    uglify2:{
        mangle: false
    },
    include: ['lib/require/require']
})

我还使用一个名为html2js的grunt任务来编译我的所有HTML模板,以便将角度转换为JavaScript,以便在生产中保存下载。

问题是当我在构建中包含这些文件时,优化器将它们混乱并且它们不再正常运行。它的设置方式我需要它们在angularjs之后但在其他之前被丢弃。

在HTML页面中包含app.min.js文件之后的文件也不起作用,因为我必须注册模块,如:app.requires.push('templates-main');

是否可以让r-optimizer在优化期间跳过此文件,但仍将其包含在app.min.js文件中?

1 个答案:

答案 0 :(得分:0)

在require build config中,添加文件名后跟'empty',如:

 compile: {
     options: {
         paths: {
             'templates':'empty:',
         }
      }
  }