关键字“enum”被保留:symlinked文件夹,在create-react-app中的src/目录下,带有typescript,无法正确转译

ali*_*ill 8 enums symlink typescript create-react-app

在符号链接公共枚举和接口目录(名为 common,在 src/ 文件夹中符号链接)时遇到枚举问题。由于某种原因,从此文件夹导入接口不会触发错误,但导入枚举文件确实会触发错误!

可能有帮助的事情:(1)从 src 文件夹外部导入模块。使用 typescript 的 CRA 仅转换 src/ 下的文件夹,因此我将该文件夹符号链接到 src 内。(2) 我可以复制这些精确的枚举,在 src/ 中的单独文件中声明它们,运行yarn start,并且不会抛出任何错误!符号链接文件夹和 CRA 之间一定存在某种奇怪的交互。

错误 在此输入图像描述

目录结构 在此输入图像描述

请注意,使用带有 typescript 的 monorepo,为前端使用带有 typescript 模板的 create-react-app 。我再次可以从符号链接的公共文件夹导入接口,没有错误,只有当我导入枚举时才会出现问题。

这是 ../common/enums/Subject.ts 文件的代码:

enum Subject {
  Biology = 'BIOLOGY',
  Chemistry = 'CHEMISTRY',
  Earth = 'EARTH',
  Energy = 'ENERGY',
  General = 'GENERAL',
  Math = 'MATH',
  Physics = 'PHYSICS',
  Space = 'SPACE'
}

export default Subject;
Run Code Online (Sandbox Code Playgroud)

为了更好地衡量(也许这是我的 tsconfig.json?)这是我的前端 tsconfig.json:

{
  "compilerOptions": {
    "lib": [
      "dom",
      "dom.iterable",
      "es6"
    ],
    "target": "es6",
    "baseUrl": "src",
    "jsx": "react",
    "module": "esnext",
    "moduleResolution": "node",
    "sourceMap": true,
    "allowSyntheticDefaultImports": true,
    "experimentalDecorators": true,
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "strict": true,
  },
  "include": [
    "src",
    "src/**/*.ts",
    "src/**/*.test.ts",
    "src/**/*.test.tsx"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我确实有一个通用文件夹的 tsconfig.json,但不确定这是否会导致问题。这是公共文件夹及其 tsconfig.json 文件的结构。

在此输入图像描述