这是 gulpfile.js
var gulp = require('gulp');
var sass = require('gulp-ruby-sass');
var chalk = require('chalk');
gulp.task('sass', function() {
return sass('assets/scss/*.scss')
.on('error', sass.logError)
.pipe(gulp.dest('assets/css'))
});
错误记录有效,例如,如果我在Sass中设置未定义的变量,终端将显示:
[13:31:23] Using gulpfile ~/Development/test/gulpfile.js
[13:31:23] Starting 'sass'...
[13:31:23] error assets/scss/style.scss (Line 3: Undefined variable: "$red".)
[13:31:23] Finished 'sass' after 248 ms
我已经包含了chalk,因为我想更改终端中错误的颜色,但我该如何去做呢?我试过了:
.on('error', chalk.red(sass.logError))
但这并不奏效。请帮忙!
答案 0 :(得分:0)
@kombucha是对的,您可以重新实现sass.logError
并在其中使用chalk.red
。检查sass.logError
的{{1}}源代码后,结果如下:
var gutil = require('gulp-util');
...
.on('error', function() {
var message = new gutil.PluginError('gulp-ruby-sass', err);
console.error(chalk.red(message + '\n'));
this.emit('end');
})