我有一个使用 Node Module 创建的 gulp 任务,它调用 GCC 编译器,从而减少了我的 JS 代码。这是节点缩小。
问题是它不是“管道输出”,我无法使用管道来创建之前在其他任务上使用“uglify”gulp 模块(“gulp-uglify”)创建的源映射。
gulp.task('gcc', function () {
new compressor.minify({
type: 'gcc',
fileIn: mainFileBundled,
fileOut: mainFileBundled2,
callback: function (err, min) {
console.log(err);
//console.log(min);
}
});
});
Run Code Online (Sandbox Code Playgroud)
这将是在将代码投入生产之前要做的最后一项任务,目的是进一步缩小 js 文件。
所以我的问题是。在我们希望尽可能保护代码的前提下,是否有必要将源映射投入生产?
不,如果您想使用源映射来调试代码,则只需要源映射。
旁注:不必担心//# sourceMappingURL=...文件中的行(如果它在缩小过程中幸存下来)。仅当您打开开发工具并转到代码面板时,浏览器才会尝试下载源地图,因此在正常使用中不会因缺少地图而收到 404 错误。这并不理想,希望您的流程能够消除它们,但如果它们存在,则基本上是无害的。当然,如果有人打开开发工具并转到代码面板,是的,浏览器会尝试获取该文件(并且可能会失败,因为您还没有将它们投入生产)。