我正在尝试使用 gulp-sourcemaps 为我的 sass 和 js 文件创建源映射,但路径sources: [ ... ]
始终仅相对于源目录而不是目标目录。
我的项目结构如下所示:
project
|-- public/
| |-- css/
| | |-- main.scss
| | `-- dashboard.scss
| |-- js/
| | |-- dashboard/
| | | `-- dashboard.js
| | `-- app.js
| |-- index.html
| |-- app.min.js
| |-- app.min.js.map
| |-- style.css
| `-- style.css.map
`-- gulpfile.js
这是我的两个 gulp 任务:
gulp.task('sass', function() {
// only need main.scss because I'm using @import
return gulp
.src('./public/css/main.scss')
.pipe(sourcemaps.init())
.pipe(sass())
.pipe(rename('style.css'))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./public'));
});
gulp.task('uglify', function() {
return gulp
.src(['./public/js/app.js', './public/js/**/*.js'])
.pipe(sourcemaps.init())
.pipe(concat('app.concat.js'))
.pipe(uglify())
.pipe(rename('app.min.js'))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./public'));
});
运行这些任务后,地图文件如下所示:
{"version":3,"sources":"main.scss","dashboard.scss"], ... }
{"version":3,"sources":["app.js","dashboard/dashboard.js"], ... }
但我希望它们是相对于他们的实际目录
{"version":3,"sources":["css/main.scss","css/dashboard.scss"], ... }
{"version":3,"sources":["js/app.js","js/dashboard/dashboard.js"], ... }
那么我怎样才能得到想要的结果呢?我的配置有什么问题?