Когда я использую соглашение "один класс на файл" (с экспортом по умолчанию), это действительно раздражает писать импорт Car из './Car' ;.Есть ли короткий способ сделать это?Как макрос или что-то?Я попытался импортировать './Car';но, конечно, это не импортирует символ автомобиля ...
Чтобы использовать автомобиль, код должен сказать import Car from './Car'
.Этот синтаксис в основном означает «запустить код в ./Car и назначить его экспорт по умолчанию для Car
».import './Car'
допустимо, но это означает «запустить код в ./Car, но мне не нужно использовать то, что он экспортирует».
Тем не менее, различные IDE могут помочь вам автоматически выполнить импорт.Например, я использую код Visual Studio, и если я использую Car
где-то в своем коде, не импортируя и не определяя его, я получаю красное подчеркивание и могу в большинстве случаев нажать ctrl-пробел, чтобы автоматически импортировать его.
Еще одна неприятная вещь - импортировать Car и RaceCar в index.ts.Есть ли способ импортировать только RaceCar, который уже знает класс Race?
Если вам нужно напрямую обратиться к какой-либо вещи, экспортируемой файлом Car, вам нужно будет ее импортировать.В вашем примере вы используете Car как тип.Если вам это нужно, то вам нужно импортировать его.Тем не менее, в вашей ситуации я бы, вероятно, просто использовал RaceCar в качестве типа, так как это то, что вы обновляете в любом случае.
import RaceCar from './RaceCar';
const car: RaceCar = new RaceCar();
car.startEngine();