我在我的styles文件中有一个任务:
gulp.task('styles', function () {
var sass = require('gulp-ruby-sass');
var autoprefixer = require('gulp-autoprefixer');
return gulp.src('app/styles/main.scss')
.pipe(sass({sourcemap: true, sourcemapPath: '../scss'}))
.on('error', function (err) { console.log(err.message); })
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(gulp.dest('.tmp/styles'));
});它在控制台中生成如下内容:
[14:25:21] Starting 'styles'...
[14:25:21] gulp-ruby-sass: stderr: DEPRECATION WARNING: Passing --sourcemap without a value is deprecated.
Sourcemaps are now generated by default, so this flag has no effect.
[14:25:21] gulp-ruby-sass: directory
[14:25:25] gulp-ruby-sass: write main.css
write main.css.map
events.js:72
throw er; // Unhandled 'error' event
^
Error: /Users/stevelombardi/Documents/command-central/ccgulp/main.css.map:3:3: Unknown word如果我注释掉管道到自动重订器,没有错误,所有的编译。这里怎么回事?
注意,我似乎也不能禁用源地图的编写。我尝试了所有的其他设置从回购页面的咕噜-红宝石-萨斯,但没有任何工作。
我不用自动修复器就能活下去,但我很乐意让它工作.
发布于 2014-12-02 20:20:57
而不是:
browsers: ['last 2 versions'],试试这个:
browsers: ['last 2 version'],如果这不起作用的话,我的运气会更好一些,比如gulp sass和gulp源地图。
// Compile Sass & create sourcemap
.pipe(sourcemaps.init())
.pipe(sass())
.pipe(sourcemaps.write())
.pipe(gulp.dest('css'))
// Autoprefix, load existing sourcemap, create updated sourcemap
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(autoprefixer('last 2 version')
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('css'))发布于 2015-01-07 00:12:51
这个问题似乎与main.css.map有关,即使您不想要,在我编写这篇文章时使用的是gulp-ruby-sass@0.7.1。
到目前为止,我遇到了两种不同的解决方案:
1)如果不需要源地图:
gulp.task('styles', function() {
gulp.src('app/styles/main.scss')
.pipe(sass({
"sourcemap=none": true // hack to allow auto-prefixer to work
}))
.pipe(prefix("last 2 versions"))
.pipe(gulp.dest('css'));
});这就是我最近遇到这个问题时所使用的。
2)如果确实需要源地图:
那你应该试试gulp-ruby-sass@1.0.0-alpha
https://stackoverflow.com/questions/27068915
复制相似问题