我正在尝试让源映射与 Gulp 一起使用。我正在使用 gulp-ruby-sass 和 gulp-sourcemaps。
内联源映射被插入到 CSS 文件中,但即使我启用了源映射,它仍然无法在 Chrome 中工作。我仍然只能看到对 CSS 文件的引用,而不是 sass 文件。
这是我的 gulpfile 中的 sass 任务:
gulp.task('sass', function() {
return sass('src/sass/main.scss', { sourcemap: true, style: 'expanded' })
.on('error', function (err) {
console.error('Error!', err.message);
})
.pipe(sourcemaps.init())
.pipe(sourcemaps.write())
.pipe(gulp.dest('dist/assets/css/'))
.pipe(connect.reload());
});
我的 CSS 文件中的内联源映射如下所示:
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJtYWluLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIubmF2aWdhdGlvbi1tYWluX19saXN0IHtcclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5uYXZpZ2F0aW9uLW1haW5fX2l0ZW0ge1xyXG4gIHBhZGRpbmc6IDAgMTBweDtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcbi5uYXZpZ2F0aW9uLW1haW5fX2l0ZW06Zmlyc3Qge1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxufVxyXG4ubmF2aWdhdGlvbi1tYWluX19pdGVtOmxhc3Qge1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcblxyXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
我将base64解码为:
{"version":3,"file":"main.css","names":[],"mappings":"","sources":["main.css"],"sourcesContent":[".navigation-main__list {\r\n display: inline;\r\n padding: 0;\r\n margin: 0;\r\n}\r\n\r\n.navigation-main__item {\r\n padding: 0 10px;\r\n list-style-type: none;\r\n display: inline;\r\n}\r\n.navigation-main__item:first {\r\n padding-left: 0;\r\n}\r\n.navigation-main__item:last {\r\n padding-right: 0;\r\n}\r\n\r\n\r\n"],"sourceRoot":"/source/"}
这看起来对吗?我不确定它的外观,但我会认为 scss 文件名引用应该在那里?
只是无法让它工作!