gulp-sourcemaps生成一个空名称属性

时间:2014-08-09 11:08:30

标签: node.js gulp gulp-concat gulp-sourcemaps gulp-uglify

我正在尝试使用gulp生成uglified 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属性集的正确地图文件。

我做错了什么或某人有解决方法吗?

1 个答案:

答案 0 :(得分:0)

这似乎是Uglify2中的一个错误。应该通过这个简单的解决方案来解决:

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