Sourcemap“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.scss
#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上的相关问题