如何使用Gulp,Uglify&amp ;;生成有效的源地图? CONCAT?

时间:2015-05-17 00:09:29

标签: javascript gulp uglifyjs source-maps 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);

但取消注释uglify并没有。

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

2 个答案:

答案 0 :(得分:0)

我们一直在使用它:

.pipe(sourcemaps.init())
.pipe(concat('app.js'))
.pipe(ngAnnotate())
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('app.js'))

这似乎对我很好。它虽然将源图输出到文件中。

版本:

"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"

答案 1 :(得分:0)

如果有人遇到这个问题并找到这个答案: 这不起作用的原因是因为您无法通过一个 sourcemaps.init() 调用“源映射”更多转换。这种组合对我有用

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