Gulp-sourcemaps生成一个空的names属性



我正试图用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属性集生成正确的映射文件。

我做错了什么,还是有人有解决这个问题的方法?

这似乎是Uglify2中的一个bug。应该通过这个简单的修复来解决:

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

相关内容

  • 没有找到相关文章

最新更新