Возникла проблема с перечислениями при символической ссылке на общий каталог перечислений и интерфейсов (с именем общая, символическая ссылка в папке src /). По какой-то причине импорт интерфейсов из этой папки не вызывает ошибку, но импорт файлов enum вызывает ошибку!
Что может помочь: (1) импорт модулей из-за пределов папки sr c , CRA с машинописью переносит только папки под src /, поэтому я поместил ссылку в папку внутри sr c. (2) Я могу сделать копию этих точных перечислений, объявить их в отдельном файле в src /, запустить запуск пряжи, и не будет выдано никакой ошибки! Должно быть какое-то странное взаимодействие между символической папкой и CRA.
ОШИБКА
СТРУКТУРА КАТАЛОГА
Обратите внимание, используя 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 для нее.