Вы можете скомпилировать без ошибок, указав tsc
игнорировать все такие import
операторы.
// @ts-ignore
import xyz from "./foo.ts";
Чтобы понять, почему вы не можете настроить выход из этого, мы должны покопаться в основные причины, по которым TypeScript не хочет, чтобы вы использовали расширение .ts
внутри оператора import
.
tsc
не перезаписывает имена файлов модулей, поэтому, если вы дадите ему
import xyz from "./foo.ts"
он не создает файл foo.js
, а полученный скомпилированный ECMAScript (любой версии, которую вы укажете) по-прежнему говорит об импорте ./module.ts
. Поскольку целью компиляции в ECMAScript является избавление от файлов TypeScript, ссылка на файл .ts
в выводе явно не годится.
То, что вы хотите, было поднято в вопросах TypeScript GitHub (см. # 27481 , # 11901 ). Вы можете присоединиться к обсуждению на GitHub.