Javascript 吞咽事件中未处理错误的位置。js:141
例如,当我使用commanJavascript 吞咽事件中未处理错误的位置。js:141,javascript,debugging,gulp,traceback,Javascript,Debugging,Gulp,Traceback,例如,当我使用commangulp scripts:common运行任务时,我得到以下输出: [14:05:47] Requiring external module babel-core/register [14:05:49] Using gulpfile /home/sites/blablabla/gulpfile.babel.js [14:05:49] Starting 'scripts:common'... events.js:141 throw er; // Unhand
gulp scripts:common
运行任务时,我得到以下输出:
[14:05:47] Requiring external module babel-core/register
[14:05:49] Using gulpfile /home/sites/blablabla/gulpfile.babel.js
[14:05:49] Starting 'scripts:common'...
events.js:141
throw er; // Unhandled 'error' event
^
SyntaxError: Unexpected token
好吧,对于SyntaxError来说,知道它在哪里找到了那个意外的标记会很有用。如何告诉它至少显示文件和行?在哪里可以找到evetns.js文件?我可以把
console.trace()或类似的东西放在那里吗 我通过运行脚本来解决此问题:
/*
* `gulp check_scripts` - Lints script files
*/
gulp.task('check_scripts', function() {
return gulp.src([
'gulpfile.js' //, other scripts to check
])
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(gulpif(enabled.failJSHint, jshint.reporter('fail')));
});
已启用。failJSHint
允许错误在本地环境中传递,但在生产中失败
这将清除脚本中的任何语法错误。
此外,您可能希望将其挂接到其他任务,以便在正确生成之前自动运行:
gulp.task('default', ['check_scripts', 'clean'], function() {
gulp.start('build');
});
这是总体思路。我通过运行脚本来解决此问题:
/*
* `gulp check_scripts` - Lints script files
*/
gulp.task('check_scripts', function() {
return gulp.src([
'gulpfile.js' //, other scripts to check
])
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(gulpif(enabled.failJSHint, jshint.reporter('fail')));
});
已启用。failJSHint
允许错误在本地环境中传递,但在生产中失败
这将清除脚本中的任何语法错误。
此外,您可能希望将其挂接到其他任务,以便在正确生成之前自动运行:
gulp.task('default', ['check_scripts', 'clean'], function() {
gulp.start('build');
});
这是一般的想法。您可以通过向gulp任务添加自定义的“on error”处理程序来查看错误堆栈跟踪
gulp.task('compile:js', function() {
return (
gulp.src(jsPath)
.pipe(yourCustomTask())
.on('error', function(err) {
console.log(err.stack);
this.end();
})
);
});
您可以通过向gulp任务添加自定义的“on error”处理程序来查看错误堆栈跟踪
gulp.task('compile:js', function() {
return (
gulp.src(jsPath)
.pipe(yourCustomTask())
.on('error', function(err) {
console.log(err.stack);
this.end();
})
);
});
另外,作为另一种变体,添加到管道中会使错误消息更加清晰 另外,作为另一种变体,添加到管道中会使错误消息更加清晰 这个错误是否只会发生在javascript脚本中,或者SCS也会因为这样的错误而受到指责?Gulp不应该崩溃,不会。默认情况下,它会将错误记录到控制台,可以忽略,也可以不忽略,这取决于您的设置。它不会崩溃,只是在登台时构建失败,我无法找出原因。问题是那里有将近15个任务,我甚至不知道该怪哪一个。你能发布你的gulpfile.js
吗?它包含8个导入,看起来像这样:gulp.task(':debug',cb=>seq('clean'),[‘资产’、‘资产:字体’、‘标记:页面’、‘标记:组件’、‘脚本:供应商’、‘脚本:通用’、‘脚本:调试’、‘样式:供应商’、‘样式:调试’、‘标记’、‘cb))
我不认为这会有帮助。这个错误可能只发生在javascript脚本上,或者SCS也会被归咎于这样的错误吗?Gulp不应该崩溃,不会。默认情况下,它会将错误记录到控制台,可以忽略或不忽略,这取决于您的设置。它不会崩溃,只是在登台时构建失败,我无法找出原因问题是那里有将近15个任务,我甚至不知道该怪哪一个。你能发布你的gulpfile.js
吗?它包含8个导入,看起来像这样:gulp.task(':debug',cb=>seq('clean'),['assets'、'assets:font'、'markup:pages'、'markup:components'、'scripts:vendor'、'scripts:debug'、'styles:vendor'、'styles:debug']、'markup',cb];
我认为这不会有帮助。请发布gulp脚本的内容:common任务以及带有-v标志的gulp命令的输出(详细模式)。请发布gulp脚本的内容:公共任务和带有-v标志(详细模式)的gulp命令的输出。