React 应用程序构建因 popper js 打字稿错误而失败

React app build failed for popper js typescript error

我有使用 bootstrap 4.3.1 作为节点的 React 应用程序 modules.When 我正在构建该应用程序,它给出以下错误 TypeScript error in /codebuild/output/src478180495/src/app-name/node_modules/@popperjs/core/lib/createPopper.d.ts(1,13): '=' expected. TS1005 > 1 | import type { OptionsGeneric, Modifier, Instance, VirtualElement } from "./types"; 之前还不错。今天出现错误。

这是由于 Typescript 引入了新的语法 type-only-imports-and-export

package.json 中的 typescript 模块升级到 > 3.8.0 和 @type 定义应该可以解决这个问题。

这是相关的 主题。

我 运行 在为 SPFx 编写 Web 部件时遇到了同样的问题,这略有不同,但由于搜索引导我来到这里,所以我会把答案留给以后的任何人。

虽然在 运行 宁 gulp serve 时将打字稿更新为 4.4,但我得到了 typescript version: 3.7.7。补救步骤:

  1. 运行 npm i @microsoft/rush-stack-compiler-3.9 此变体选择 TypeScript 3.9
  2. tsconfig.json 中将 extends 更改为 "extends": "./node_modules/@microsoft/rush-stack-compiler-3.9/includes/tsconfig-web.json",
  3. tslint.json 中删除 "no-use-before-declare": true, 因为它会导致错误 Error - [tslint] no-use-before-declare is deprecated. Since TypeScript 2.9. Please use the built-in compiler checks instead.