首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么方法可以让错误信息/位置传递吗?

有什么方法可以让错误信息/位置传递吗?
EN

Stack Overflow用户
提问于 2014-07-15 14:14:58
回答 1查看 1K关注 0票数 2

我创造了一个较少的任务:

代码语言:javascript
复制
var gulp = require('gulp'),
    less = require('gulp-less');

gulp.task('dktest-less', function () {
    gulp.src('dktest/**/*.less')
        .pipe(less());
});

当我运行它时,我得到:

代码语言:javascript
复制
(dev) c:\work\dev\dkjs>gulp dktest-less
[16:07:46] Using gulpfile c:\work\dev\dkjs\gulpfile.js
[16:07:46] Starting 'dktest-less'...
[16:07:46] Finished 'dktest-less' after 4.22 ms

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: Invalid HEX color code
    at error (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:248:17)
    at Object.Parser.parser.parsers.parsers.entities.color (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:966:29)
    at Object.Parser.parser.parsers.parsers.operand (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:1984:34)
    at Object.Parser.parser.parsers.parsers.multiplication (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:1882:26)

    at Object.Parser.parser.parsers.parsers.addition (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:1911:26)
    at Object.Parser.parser.parsers.parsers.expression (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:2006:30)
    at Object.Parser.parser.parsers.parsers.value (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:1851:30)
    at Object.Parser.parser.parsers.parsers.rule (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:1575:60)
    at Object.Parser.parser.parsers.parsers.primary (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:731:76)
    at Object.Parser.parser.parsers.parsers.block (c:\work\dev\dkjs\node_modules\gulp-less\node_modules\less\lib\less\parser.js:1492:51)

哪一种方法不太有用(如何搜索无效的十六进制值.?..and在哪里?)

如果我手动运行较少的代码,它会给我:

代码语言:javascript
复制
(dev) c:\work\dev\dkjs\dktest>lessc diffview.less
SyntaxError: Invalid HEX color code in c:\work\dev\dkjs\dktest\diffview.less on line 821, column 48:
820
821     .white .beautify .data em.s16 { color: #880s }
822

我需要做些什么才能通过吞咽获得这条信息非常丰富的错误信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-15 15:20:14

尝试将错误处理程序函数添加到代码中,如下所示:

代码语言:javascript
复制
var gulp = require('gulp'),
    less = require('gulp-less');

gulp.task('dktest-less', function () {
    gulp.src('dktest/**/*.less')
        .pipe(less().on('error', errorHandler));
});

function errorHandler (error) {
  console.log(error.toString());
  this.emit('end');
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24760578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档