Ключевое слово 'enum' зарезервировано: папка с символическими ссылками в каталоге src / в create-реагировать-приложение с машинописным шрифтом, не может правильно переносить - PullRequest
1 голос
/ 03 марта 2020

Возникла проблема с перечислениями при символической ссылке на общий каталог перечислений и интерфейсов (с именем общая, символическая ссылка в папке src /). По какой-то причине импорт интерфейсов из этой папки не вызывает ошибку, но импорт файлов enum вызывает ошибку!

Что может помочь: (1) импорт модулей из-за пределов папки sr c , CRA с машинописью переносит только папки под src /, поэтому я поместил ссылку в папку внутри sr c. (2) Я могу сделать копию этих точных перечислений, объявить их в отдельном файле в src /, запустить запуск пряжи, и не будет выдано никакой ошибки! Должно быть какое-то странное взаимодействие между символической папкой и CRA.

ОШИБКА enter image description here

СТРУКТУРА КАТАЛОГА enter image description here

Обратите внимание, используя monorepo с машинописным шрифтом, создайте приложение-приложение с машинописным шаблоном для внешнего интерфейса. Опять же, я могу импортировать интерфейсы из общей папки с символическими ссылками без ошибок, только когда я импортирую перечисления, у меня возникают проблемы.

Вот код для файла ../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;

И для хорошей меры (может быть, это мой 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"
  ]
}

У меня есть tsconfig. json для общей папки, но не уверен, что это будет причиной проблемы. Вот структура общей папки и файл tsconfig. json для нее.

enter image description here

...