Я настроил опцию paths
в моем tsconfig.json
файле. Пока все работает нормально. Я могу запускать свои тесты, и я могу выполнять программу как обычно. Моя единственная проблема заключается в том, что ESLint не находит модули, к которым осуществляется доступ по одному из путей, определенных в tsconfig.json
.
Вот все файлы, связанные с проблемой:
tsconfig. json:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"allowJs": true,
"sourceMap": true,
"outDir": "./dist",
"rootDir": "./",
"strict": true,
"esModuleInterop": true,
"declaration": true,
"resolveJsonModule": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
},
"include": ["src/**/*", "test/**/*", "index.ts"]
}
tsconfig.eslint. json:
{
"extends": "./tsconfig.json",
"include": ["src/**/*", "test/**/*", "index.ts", ".eslintrc.js"]
}
.eslintr c. js:
{
root: true,
env: {
browser: true,
es6: true,
node: true
},
extends: ['plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: ['tsconfig.eslint.json'],
sourceType: 'module'
},
settings: {
'import/resolver': {
typescript: {}
}
},
plugins: ['@typescript-eslint', 'import', 'prefer-arrow'],
rules: {...}
}
Я использую пакет eslint-import-resolver-typescript .
Теперь, если я попытаюсь импортировать файл './src/test.ts' в './index .ts 'с путем' @ / test ', тогда ESLint не сможет разрешить этот импорт (хотя TypeScript разрешает его очень хорошо).
Я в основном скопировал свое текущее решение из здесь , потому что я думал, что у человека, задавшего эту проблему, была та же проблема, что и у меня, но моя установка все еще не работает.
Кстати, я нахожусь в среде NodeJS.
РЕДАКТИРОВАТЬ: Я также пробовал использовать пакет eslint-import-resolver-alias . Это помогло лишь частично. Я мог бы избавиться от ошибок «import / no-unresolved», но всякий раз, когда я вызываю импортированную функцию, я получаю «@ typescript-eslint / no-unsafe-call», потому что, по-видимому, ESLint не находит типы для импортированных файлов. и, таким образом, все дает тип any
.