【发布时间】:2015-05-10 13:38:56
【问题描述】:
我正在使用 gulp 构建项目,同时使用 gulp-sourcemaps 生成源映射。
我有几个这样的组件:
public
|-- src
|-- comp1
| |-- c1-a.js
| |-- c1-b.js
|
|-- comp2
|-- c2-a.js
|-- c2-b.js
我想将它们构建成以下结构:
public
|-- dist
| |-- comp1
| | |-- c1-a.min.js
| | |-- c1-a.min.js.map
| | |-- c1-b.min.js
| | |-- c1-b.min.js.map
| |
| |-- comp2
| |-- c2-a.min.js
| |-- c2-a.min.js.map
| |-- c2-b.min.js
| |-- c2-a.min.js.map
|
|-- src/
目前我的 gulp 任务可以将文件生成到正确的路径:
gulp.task('component', function() {
gulp.src('./public/src/**/*.js', {base: './public/src'})
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(sourcemaps.write('.', {
includeContent: false,
sourceRoot: '/src/' // here's the problem
}))
.pipe(gulp.dest('./public/dist'))
})
但是有两个问题:
地图文件中的
sourceRoot不正确: 期待"sourceRoot":"/src/comp1/",但结果是"sourceRoot":"/src/"sourceMappingURL在压缩文件中也没有: 期待sourceMappingURL=c1-a.min.js.map,但结果是sourceMappingURL=../../comp1/c1-a.min.js.map
如何将** 部分附加到sourceRoot 并修复sourceMappingURL?
【问题讨论】:
标签: node.js gulp gulp-sourcemaps