我正在努力解决一个问题,即TypeScript对项目中的所有文件进行类型检查,即使文件中的内容不会包含在Webpack生成的最终捆绑包中。
当其中一个文件中报告了TypeScript错误时,这会很烦人,但执行更正操作不会导致webpack-dev-server
重新加载并清除TypeScript错误。
我知道我当前的tsconfig.json
将include
字段设置为src
文件夹中的所有文件,但我本以为Webpack只会将从入口点遇到的依赖项传递给TypeScript。
我是不是误解了什么?我的配置是否不足?使用TypeScript加载程序/插件的其他组合会解决这个问题吗?
谢谢:(
回购
回购步骤:
git clone
git checkout react-typescript-error
npm i
npm run dev
- 在
utils.ts
中遇到useLatestEffect
的类型错误,即使utils.ts
不是从入口点遇到的任何文件的依赖项
我知道我当前的tsconfig.json将include字段设置为src文件夹中的所有文件,但我本以为Webpack只会将从入口点遇到的依赖项传递给TypeScript。
好吧,因为我使用的是fork-ts-checker-webpack-plugin
,所以它使用的是TypeScript的模块解析行为,而不是等待Webpack进程将Chunk传递给它。这就解释了为什么我最初的思路是错误的。
我的错误是在tsconfig.json
中的'include'
数组中指定了'src/**/*'
。相反,我应该做的是仅为该阵列中的应用程序指定用作Webpack入口点的文件(即,在我的情况下仅指定index.js
(。
出于这个问题的目的,这种方式解决了最初的问题,但我想知道一些方法来避免在tsconfig.json
和webpack.base.config.js
之间重复入口点规范。
回购
回购步骤:
git clone
git checkout react-typescript-fix
npm i
npm run dev
- 触发构建/启动开发服务器时,将不再处理
utils.ts
中useLatestEffect
的类型错误 - 在
./src/App/RedSection/index.tsx
中取消useLatestEffect
行的注释会返回Error,但需要明确的是,这正是我想要的行为