Gulp - 用粉笔更改终端中的错误文本颜色

时间:2015-10-06 11:55:50

标签: terminal gulp chalk

这是 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))

但这并不奏效。请帮忙!

1 个答案:

答案 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');
})