我正在使用 grunt 和 requirejs 来构建和压缩我们的应用程序以进行部署。我们希望创建可用于远程调试客户端代码的源映射,而不会暴露我们未压缩的开发代码。在 requirejs 选项中,我指定了优化:
options: {
// ...,
optimize: 'uglify2',
// ...,
uglify2: {
mangle: {
except: ['jQuery']
},
compress: {
sequences: true,
booleans: true,
evaluate: true,
conditionals: true,
comparisons: true
}
},
generateSourceMaps: true,
preserveLicenseComments: false,
// ...
}
这会按预期生成源映射,但它们在映射中包含源文件,这会显着增加文件大小并暴露我们的原始开发代码。UglifyJS2 文档说它支持一个 sourceMapIncludeSources 选项,我尝试在 uglifyjs2 配置中传入一个选项对象,但在这里似乎没有得到尊重。有没有办法让 requirejs 在不包含源的情况下生成源映射,或者让它尊重传递给 uglify 的选项?