我在我的 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'));
唯一的问题是源映射包含原始 .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
不存在的文件。
我尝试使用工作区来修复它,但并没有真正管理。这个设置有问题吗?我错过了什么吗?