webpack默默地继续,尽管打字稿错误

时间:2016-01-07 20:02:19

标签: coffeescript typescript gulp webpack

我正在使用gulp和webpack的现有coffeescript项目中使用typescript。

我注意到当coffeescript中存在语法错误时,它将无法执行gulp任务,并且不会继续执行以下步骤,这是所需的行为。使用我正在使用的打字机加载器(ts-loader),我可以在终端中看到错误消息,但是webpack任务从gulp的角度来看是成功的并继续。我想这是coffeescript加载器和打字稿加载器如何处理错误的区别。

例如,我可以添加以下打字稿文件:

function greet(name: string) {  
  return 'Hello '+name;
}

export = greet;

{

并查看构建中的错误:

ERROR in ./bin/arranged/webkit/hcube/dummy.ts
(8,1): error TS1005: '}' expected.

但它仍然继续与webpack的其余构建没有返回任何错误。

我意识到,与coffeescript不同,typescript有很多文件间依赖关系,这使得ts-loader更复杂,但我觉得它应该在某些时候仍然失败。当存在语法错误时,在命令行上运行typescript编译器会返回预期的退出代码,所以我觉得问题在于加载器本身。

在ts-loader的after-compile插件中,是否应该以不同的方式向webpack报告错误以进行传播?现在看起来它只是将错误附加到后编译插件中的webpack,而webpack只是继续卡车运输(参见https://github.com/TypeStrong/ts-loader/blob/master/index.ts#L398)。如果遇到错误,加载程序是否应该在此插件中引发错误?或者以不同的方式调用回调?或者应该在装载机的其他部分处理?同样,这个特定的例子是一个语法错误,所以我想它会在执行after-compile之前被捕获/引发。

0 个答案:

没有答案