如何使用Gulp,Uglify和Concat生成有效的源地图?

Jam*_*ley 5 javascript uglifyjs source-maps gulp gulp-uglify

有没有人找到Gulp,Uglify和Concat的工作组合来生成有效的源地图?在GitHub中似乎存在很多关于这些类型的交互的问题,但同样地,人们似乎找到了成功运作的组合.我尝试了很多变化,但是当我打开uglify时,符号映射不起作用,断点在浏览器中无法正常工作.例如,以下工作正常:

return gulp.src('/scripts/*.js')
            .pipe(sourcemaps.init())
            //.pipe(uglify())
            .pipe(concat(outputName + '.min.js'))
            .pipe(sourcemaps.write('./'))
            .pipe(gulp.dest(outputPath))
            .on('end', function() { gutil.log('Minified ' + outputName); })
            .on('error', handleError);
Run Code Online (Sandbox Code Playgroud)

但是取消注释uglify并没有.

我创建了一个GitHub repo来重现这个问题:https://github.com/jamescrowley/gulpIssues

Phi*_*hil 1

我们一直将其用作:

.pipe(sourcemaps.init())
.pipe(concat('app.js'))
.pipe(ngAnnotate())
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('app.js'))
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很有效。不过,它将源映射输出到文件本身中。

版本:

"browser-sync": "^2.2.4",
    "gulp": "^3.8.6",
    "gulp-concat": "^2.3.4",
    "gulp-ng-annotate": "^0.2.0",
    "gulp-rename": "^1.2.0",
    "gulp-replace": "^0.4.0",
    "gulp-sourcemaps": "^1.1.0",
    "gulp-uglify": "^0.3.1",
    "gulp-util": "^2.2.20"
Run Code Online (Sandbox Code Playgroud)