停止 Typescript 编译器尝试编译 node_modules 内的文件(SFPX React)

Stop Typescript compiler from trying to compile files inside node_modules (SFPX React)

我正在开发 SPFX(SharePoint 框架)React 应用程序。 在为 typescript (@automapper/core @automapper/pojos) 安装流行的自动映射器后,我在 gulp build:

期间不断收到编译器错误

我的 tsConfig.json 如下所示:

我正在使用 rush-stack-compiler 4.2,它在幕后使用 typescript 4.2.4。

我根据其他问题的答案尝试过的事情:

  1. 升级打字稿版本 - 在 SPFX 中,这是通过将 rush-stack-compiler 从 3.7 升级到 4.2 来完成的 这只有一点帮助,因为@automapper 库中的类型错误较少,但并非所有错误都已修复。
  2. "exclude": [ "node_modules" ]添加到tsConfig.json
  3. "skipLibCheck": true添加到tsConfig.json
  4. 在 tsConfig.json
  5. 中指定空 "types": [] 设置

知道为什么 tsc 专门查看 node_modules/@automapper 文件夹,尽管 node_modules 中还有数百个其他文件夹带有 *.d.ts 文件,它们是没问题?

尝试将打字稿更新到 4.5:@microsoft/rush-stack-compiler-4.5

@automatpper 似乎正在使用 bleeding-edge 打字稿功能。该问题与node_modules的inclusion/exclusion无关,似乎与typescript版本有关(您似乎安装了不理解automapper某些定义的旧版本)。

或者,使用旧版本的自动映射器(7.x 应该没问题)