Webpack 热重载停止错误类型错误

Cod*_*Dog 5 typescript reactjs webpack

我在 React + Typescript + Webpack 堆栈中有一个项目,我正在使用 react-data-grid 包和 @types/react-data-grid 包。问题是 @types/react-data-grid 中提供的类型不完整。尝试使用其中一个属性时会导致打字稿错误。但是我知道这个属性存在,这只是类型不完整的问题。所以我有两个问题想解决:

  1. 添加可与@types/react-data-grid 一起使用的适当类型。有没有选择?不知何故,打字稿编译器会将我的新类型与@types/react-data-grid 合并并停止显示错误?

  2. 在 Webpack 中启用热重载。即使显示了typings错误,仍然创建了bundle,并在使用webpack-dev-server刷新页面后。所以我实际上可以开发,但如果有热重载会更好。是否可以选择告诉 webpack-dev-server 忽略打字稿错误?我只想在此期间执行此操作,然后再解决 Ad 的问题。1.

我在用:

"ts-loader": "^4.1.0", "typescript": "^2.7.2", "webpack": "^4.2.0", "webpack-cli": "^2.0.13", "webpack" -dev-server": "^3.1.1"

smn*_*brv 2

回答问题1。

一般来说你不能。您可以通过扩展其类/接口并使用您的扩展版本来扩展其类型,但是最好通过在https://github.com/DefinitelyTyped/DefinitelyTyped发出拉取请求来扩展类型/tree/master/types这是它们@types/*的来源

回答问题2。

这是来自ts-loader 文档的内容

从 webpack 2 开始,构建应该会因 TypeScript 编译错误而失败。如果由于某种原因没有失败,您可以使用 webpack-fail-plugin。

这样做是为了好的,因为否则,当您已经忘记了所做的一切时,您最终将在发布之前修复生产错误,而不是在编写实际代码时修复错误。可能可以通过使用transpileOnly选项来禁用此功能。

另一种选择是使用 Awesome-typescript-loader 而不是 ts-loader,它有一个errorAsWarnings选项