我使用了包gulp-less
和gulp-sourcemaps
。我的较少文件位于Styles/main.less
下,但生成的源地图指向source/main.less
(其中source/
似乎是前缀)。如何解决此问题,因此源地图正确指向source/Styles/main.less
?
我的gulp任务很简单:
var gulp = require('gulp'),
less = require('gulp-less'),
gulpif = require('gulp-if'),
sourcemaps = require('gulp-sourcemaps');
var paths = {
styles: [
'Styles/**/*.less',
'!**/*.min.css'
],
wwwRoot: 'wwwroot/'
}
var isLessFile = function(file) { return /.less$/.test(file.path); }
gulp.task('styles', function() {
return gulp
.src(paths.styles)
.pipe(sourcemaps.init())
.pipe(gulpif(isLessFile, less()))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(paths.wwwRoot + 'styles'));
});
答案 0 :(得分:4)
sourcemaps.write('.',{includeContent:false, sourceRoot:'../Styles'})
应该适合你。默认情况下,您将源内容包含在源地图文件中,sourceRoot
可能是' / source /' ,这意味着要使用嵌入的源文件。 includeContent:false
会阻止将源嵌入到源图文件中,您还必须将sourceRoot
属性设置为从保存源图到源文件所在位置的相对路径。在我的示例中,它将为Styles文件夹查找一个文件夹,它将以源图sources
数组中的所有路径为前缀。