生产源图。它们有必要吗?

Gen*_*nno 1 javascript gulp

我有一个使用 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 文件。

所以我的问题是。在我们希望尽可能保护代码的前提下,是否有必要将源映射投入生产?

T.J*_*der 5

不,如果您想使用源映射来调试代码,则只需要源映射。


旁注:不必担心//# sourceMappingURL=...文件中的行(如果它在缩小过程中幸存下来)。仅当您打开开发工具并转到代码面板时,浏览器才会尝试下载源地图,因此在正常使用中不会因缺少地图而收到 404 错误。这并不理想,希望您的流程能够消除它们,但如果它们存在,则基本上是无害的。当然,如果有人打开开发工具并转到代码面板,是的,浏览器会尝试获取该文件(并且可能会失败,因为您还没有将它们投入生产)。