源映射"sources"数组链接到"../../stdin"而不是实际的 SCSS 文件



我今天运行了npm update,随之而来的是一场灾难。我在获取要安装的包时遇到了问题,但在一切看起来都正确之后,我启动了gulp任务,将我的SCSS代码编译成CSS。

此代码再现了我的问题:

var gulp = require('gulp'),
    sourcemaps = require('gulp-sourcemaps'),
    sass = require('gulp-sass');
gulp.task('sass', function() {
    gulp.src('www/sass/*.scss')
        .pipe(sourcemaps.init())
            .pipe(sass())
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('www/css'));
});
gulp.task('default', ['sass'], function(){
    gulp.watch('www/sass/*.scss', {debounceDelay: 2000}, ['sass']);
});

通过gulp default运行这段代码后,结果是:

www/sass/example.scs

#test {
    color: red;
}

www/css/example.css

#test {
  color: red; }
/*# sourceMappingURL=example.css.map */

www/css/example.css.map

{"version":3,"sources":["../../stdin"],"names":[],"mappings":"AAAA,KAAK,CAAC;EACL,KAAK,EAAE,GAAI,GACX","file":"example.css","sourceRoot":"/sass"}

生成的源映射中的sources数组包含"../../stdin/"而不是"example.scss"!但为什么呢?

这是node-sass的一个错误,在gulp-sass版本2.1.1时已修复。请参阅Github 上的相关问题

相关内容

  • 没有找到相关文章

最新更新