有没有人找到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
答案 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);