2

我使用 r.js 将 SPA 中的所有代码拼凑js到 1 个文件中。为此,我使用 grunt 的 `grunt-contrib-requirejs' 任务,具有以下内容:

requirejs: {
  compile: {
    options: {
      name: 'app',
      out: 'build/js/app.js',
      baseUrl: 'app',
      mainConfigFile: 'config/main.js',
      preserveLicenseComments: true,
      optimize: "none"
    }
  }
}

我还使用构建任务将构建文件夹压缩到一个 zip 文件中,以便我发送给我们公司的变更管理人员。

我想要两个 requirejs 任务——一个是丑化的(用于发送到 CM),一个是不丑化的(在开发过程中)。这可能吗?我尝试用不同的名称创建一个新任务,然后咕噜咕噜地冲我大喊……应该很简单。这可能吗?有什么理由不这样做吗?

提前致谢!

4

1 回答 1

7

其实很简单:

requirejs: {
    compile: {
        options: {
            ...
            optimize: "none"
        }
    },
    compileForProduction: {
        options: {
            ...
            optimize: "uglify2"
        }
    }
}

(选项与您的相同,两者之间有任何差异,例如optimize

运行它:

grunt requirejs:compileForProduction

或在Gruntfile.js

grunt.registerTask("prod", ["requirejs:compileForProduction"]);

和:

grunt prod
于 2013-11-05T20:54:07.370 回答