是否可以将 TypeScript 配置为不检查不会包含在 Webpack 生成的最终输出中的文件?



我正在努力解决一个问题,即TypeScript对项目中的所有文件进行类型检查,即使文件中的内容不会包含在Webpack生成的最终捆绑包中。

当其中一个文件中报告了TypeScript错误时,这会很烦人,但执行更正操作不会导致webpack-dev-server重新加载并清除TypeScript错误。

我知道我当前的tsconfig.jsoninclude字段设置为src文件夹中的所有文件,但我本以为Webpack只会将从入口点遇到的依赖项传递给TypeScript。

我是不是误解了什么?我的配置是否不足?使用TypeScript加载程序/插件的其他组合会解决这个问题吗?

谢谢:(

回购

回购步骤:

  1. git clone
  2. git checkout react-typescript-error
  3. npm i
  4. npm run dev
  5. 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.jsonwebpack.base.config.js之间重复入口点规范。

回购

回购步骤:

  1. git clone
  2. git checkout react-typescript-fix
  3. npm i
  4. npm run dev
  5. 触发构建/启动开发服务器时,将不再处理utils.tsuseLatestEffect的类型错误
  6. ./src/App/RedSection/index.tsx中取消useLatestEffect行的注释会返回Error,但需要明确的是,这正是我想要的行为

最新更新