如何将源地图与gump一起使用

How can I use source maps with gulp?

本文关键字:gump 一起 地图      更新时间:2023-09-26

如何将源映射与gump一起使用?

...
sourcemaps  = require('gulp-sourcemaps'),
concat      = require('gulp-concat'),
uglify      = require('gulp-uglify'),
...
gulp.task('concat-all-js', function() {
    return gulp
        .src([
            'app/app.js',
            'app/**/*.js'
        ])
        .pipe(sourcemaps.init())
        .pipe(concat('app.js'))
        .pipe(uglify())
        .pipe(rename({
            suffix: '.min'
        }))
        .pipe(sourcemaps.write('./'))
        .pipe(gulp.dest('./dist/'));
});

我添加了两个文件:app.min.js和app.min..js.map

但是当我在文件app.min.js中放入错误时,我的源映射就不起作用了。

我已经在浏览器(Chrome)中激活了该选项,但我总是看到这个错误:

ReferenceError: blabla is not defined
    at Object.formModel (http://localhost/dist/app.min.js:1:23964)

我的文件是同一个文件夹"/dist"。

我在app.min.js中看到这一行(最后一行):

//# sourceMappingURL=app.min.js.map

这看起来像是代码中的一个错误,导致Gulp爆炸,而与源映射本身无关。您可能只需要改进处理出现错误的方式。尝试更换:

.pipe(uglify())

带有:

.pipe(uglify(uglifyOptions).on('error', function(uglify) {
        console.error(uglify.message);
        console.error("Line "+uglify.lineNumber);
        this.emit('end');
    }))

目前,如果您的代码中有错误,则会导致Gulp退出。

(除非您有一些错误处理代码没有显示。)