#node.js #typescript #eslint #typescript-eslint
Вопрос:
Я использую машинопись с правилом eslint @typescript-eslint/consistent-type-imports
, которое требует, чтобы я импортировал типы как типы ( import type { InputType }...
).
Однако, когда я делаю это с экспортированным классом es6, скажем Car
, ( import type { Car } from './models'
) Я получаю ошибку:
ReferenceError: Car is not defined
Car
является ли класс экспортируемым из car.model.ts
следующего:
export class Car {
...
}
Пожалуйста, как мне это исправить?
Я использую следующие пакеты:
"@typescript-eslint/eslint-plugin": "^4.31.0",
"@typescript-eslint/parser": "^4.31.0",
"ts-node-dev": "^1.1.8",
"typescript": "^4.4.2"
Мой ./tsconfig.json выглядит следующим образом:
{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"target": "es2019",
"allowJs": true,
"strict": false,
"noImplicitAny": false,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "build",
"baseUrl": ".",
"typeRoots": [
"./src/types/*",
"./node_modules/@types"
],
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"include": [
"src/**/*"
]
}
Моя версия nodejs
"node": "^12.13.1"
Комментарии:
1. Поделитесь своим кодом, пожалуйста, там, где вы написали код автомобиля и экспортировали его.
2. Привет @ShakirAqeel, спасибо. Я только что обновил вопрос. Автомобиль-это просто класс es6, экспортируемый как
export class Car {}
3. Я думаю, что вы указываете неверный путь к файлу, правильный путь-тип импорта { Car } из ‘./models/car.model.ts’