0

这是我的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

我已经包含粉笔,因为我想在终端中更改错误的颜色,但我将如何去做呢?我努力了:

.on('error', chalk.red(sass.logError))

但这不起作用。请帮忙!

4

1 回答 1

0

@kombucha 是对的,您可以在其中重新实现sass.logError和使用chalk.red。检查sass.logError来自https://github.com/sindresorhus/gulp-ruby-sass/blob/master/index.js的源代码后,结果如下:

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');
})
于 2016-10-24T07:23:31.883 回答