1

我正在尝试使用 gulp 为丑陋的 javascript 生成源映射文件。我的任务如下所示:

gulp.task('scripts', ['clean'], function() {

  return gulp.src([ 'src/app/**/*.js' ])
    .pipe(sourcemaps.init())
    .pipe(concat('app.min.js'))
    .pipe(uglify())
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest('dest/app'));

});

生成的输出映射gulp-sourcemaps包含一个空names数组,这会阻止浏览器将函数参数还原为其原始名称。

在我看来,gulp-sourcemaps没有正确合并链接的地图文件?gulp-concat不输出names属性(它不需要:它只是连接)但是gulp-uglify

gulp.task('scripts', ['clean'], function() {

  return gulp.src([ 'src/app/**/*.js' ])
    .pipe(sourcemaps.init())
//    .pipe(concat('app.min.js'))
    .pipe(uglify())
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest('dest/app'));

});

以上确实生成了具有names属性集的正确地图文件。

我做错了什么还是有人有解决方法?

4

1 回答 1

0

This seems to be a bug in Uglify2. Should be resolved by this simple fix:

https://github.com/mishoo/UglifyJS2/pull/546

于 2014-11-25T13:55:33.570 回答