Vite 会忽略编译器错误,直到在运行时使用该文件为止

Tha*_*ude 3 javascript typescript reactjs vite

由于某种原因,Vite 让我登录我的应用程序并执行任何操作,直到我导航到使用存在编译错误的文件的页面。此时,它拒绝渲染并在控制台中抛出错误。

我也没有在 Vite 的终端输出中看到错误。但是,我的 linterVisual Studio Code 中的问题选项卡都看到该错误。

在此输入图像描述

如何修复 Vite 以恢复到默认行为,即整个应用程序必须编译然后网站才会呈现?

Mor*_*ler 5

Vite 不做任何类型检查,在监视模式下,它只处理发生变化的文件。因此,任何不破坏已更改文件的转译的错误都不会被拾取。这是设计使然,您可以在文档中阅读它以及如何启用额外的分析/类型检查。

简而言之:

  • 运行并行任务进行检查,即对于打字稿:tsc --noEmit --watch
  • 使用像vite-plugin-checker这样的插件,它将运行检查器集成到 Vite 的构建过程中,向您显示错误报告以及构建输出

请注意,Vite 仍然会构建错误代码,除非您编写命令来中断,即类似

tsc --noEmit && npm run build
Run Code Online (Sandbox Code Playgroud)

我对这个插件非常满意,有一个类似的、特定于 Vue 的问题,有一个很好的答案,展示了如何为打字稿设置插件