Terminal Gulp-使用粉笔更改终端中的错误文本颜色
这是我的gulpfile.jsTerminal Gulp-使用粉笔更改终端中的错误文本颜色,terminal,gulp,chalk,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'))
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))
但这不起作用。请帮忙 @康普茶是对的,您可以重新实现
sass.logError
并在其内部使用chalk.red
。在检查来自的sass.logError
的源代码后,结果如下:
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');
})
它不起作用,因为
chalk.red
需要一个字符串
,但您给了它一个函数
。你可以重新实现sass.logError
,如果你想的话……派对迟到了,但是我没有看到你在第一个例子中使用粉笔的地方。如果你仍然面临这个问题,你能用一个完整的例子来编辑吗?