#typescript
Вопрос:
У меня есть файл, расположенный в src/components/SvgIcon/SvgIcon.stories.tsx
. Внутри него я пытаюсь импортировать вот так:
src/components/SvgIcon/SvgIcon.stories.tsx
import { SVG_ICON_SIZES, SVG_ICON_COLORS } from 'constants/properties';
Однако он продолжает жаловаться на эту ошибку: Cannot find module 'constants/properties' or its corresponding type declarations.
В моем файле properties.ts нет ничего особенного:
src/constants/properties.ts
export enum SVG_ICON_SIZES { SMALL = 'small', MEDIUM = 'medium', LARGE = 'large', XL = 'xl', } export enum SVG_ICON_COLORS { PRIMARY = 'primary', SECONDARY = 'secondary', DISABLED = 'disabled', NEGATIVE = 'negative', WARNING = 'warning', POSITIVE = 'positive', INTERACTIVE = 'interactive', LIGHT = 'light', }
Вот как я tsconfig.json
выгляжу:
{ "compilerOptions": { "target": "es5", "lib": ["dom", "dom.iterable", "esnext"], "baseUrl": "src", "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "declaration": true, "declarationDir": "dist", "emitDeclarationOnly": true, "strict": true, "strictNullChecks": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "jsx": "react", "types": ["jest"], "typeRoots": ["src/types", "node_modules/@types"] }, "include": ["src"], "exclude": ["node_modules", "src/**/*.stories.tsx"] }
В моем менее вложенном файле все работает так, как ожидалось:
src/components/Menu.tsx
Почему он не работает во вложенной папке?
Ответ №1:
Понял это. Это было потому, что у меня было это в моем исключении в tsconfig.json:
"exclude": ["node_modules", "src/**/*.stories.tsx"]
Обновил его до
"exclude": ["node_modules"]
и теперь это работает
Ответ №2:
Не зная своей структуры файлов/каталогов, вы пробовали?
import { SVG_ICON_SIZES, SVG_ICON_COLORS } from './constants/properties';
Или остановить и перезапустить свой проект.
У меня есть один проект, который случайным образом отказывается получать доступ к вновь созданным файлам — исправление этого не входит в мои 20 лучших дел
Комментарии:
1. Эй, @пользователь, я понял это всего 2 секунды назад. Это было потому, что я
.stories.tsx
исключил в своем tsconfig.json