我使用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任务 - 一个uglifies(用于发送到CM)和一个没有(在开发期间)。这可能吗?我尝试用不同的名字创建一个新任务,咕噜咕噜地叫着我......应该很简单。这可能吗?有没有理由不这样做?
提前致谢!
答案 0 :(得分:7)
实际上这很简单:
requirejs: {
compile: {
options: {
...
optimize: "none"
}
},
compileForProduction: {
options: {
...
optimize: "uglify2"
}
}
}
(选项与您的选项相同,两者之间的任何差异都是必需的,例如optimize
)
使用以下命令运行:
grunt requirejs:compileForProduction
或Gruntfile.js
:
grunt.registerTask("prod", ["requirejs:compileForProduction"]);
和
grunt prod