Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 吞咽事件中未处理错误的位置。js:141_Javascript_Debugging_Gulp_Traceback - Fatal编程技术网

Javascript 吞咽事件中未处理错误的位置。js:141

Javascript 吞咽事件中未处理错误的位置。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

例如,当我使用comman
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命令的输出。