我今天跑了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"
!但为什么呢?