我在gulpjs版本中通过gulp-less使用LESS编译器.我已经启用了sourceMap生成,它有点工作,有适当的文件名和行号.
使用源地图生成LESS的gulp线非常简单:
var less = require('gulp-less');
// [...]
gulp.src('web/css/**/*.less')
.pipe(less({
sourceMap: true
}))
.pipe(gulp.dest('dist/css'));
Run Code Online (Sandbox Code Playgroud)
唯一的问题是源映射包含原始.less文件的URL,它是作为我的文件系统的绝对路径生成的,例如/Users/myuser/projects/project/web/css/myfile.less.
在开发过程中,我通过Apache为站点提供服务.当我使用Chrome DevTools打开网站时,我可以检查元素,并且源地图正常工作,因为我可以myfile.less在"样式"面板上看到包含正确的行号.但是,Chrome正在尝试加载较少的文件,并且使用完整路径是源映射输出,但假设它是我的站点的相对URL,因此它尝试加载http://localhost/Users/myuser/projects/project/web/css/myfile.less不存在的文件.
我尝试使用工作区来修复它,但没有真正管理.这个设置有什么问题吗?我错过了什么吗?