Как исправить ошибку класса Typescript ReferenceError, не определенную при импорте класса в качестве типа

#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’