MJS TS
Конвертация файлов

Конвертировать MJS в TS

БЫСТРЫЙ ОТВЕТ
Возможно ли конвертировать MJS в TS?
Да - MJS конвертируется в TS.

Переименуйте file.mjs в file.ts, и он уже будет валидным TypeScript, так как существующий JavaScript является допустимым TS. Затем вы добавляете аннотации типов там, где компилятор выдает ошибки, и tsc компилирует его обратно в JavaScript для запуска.

Также в TS: REC · JS · TRP

На этой странице

Протестировано на macOS, Windows и Linux
Последняя проверка: Sep 2026

Больше бесплатных конвертеров

HEIC, PNG, WEBP, MP3 и другие - все инструменты здесь бесплатны.

Открыть инструменты

Зачем конвертировать MJS в TS?

Разработчики конвертируют .mjs в .ts, чтобы получить статическую проверку типов и автодополнение в редакторе, сохраняя при этом ту же структуру ES-модулей, которую они уже написали.

Способы конвертации MJS в TS

Компилятор TypeScript (tsc) OPEN-SOURCE

Установите "allowJs": true в tsconfig.json, затем запустите tsc для проверки типов и генерации JavaScript; ужесточите strict, когда ошибки будут исправлены.

Visual Studio Code FREE

Откройте переименованный .ts в VS Code; встроенный сервис TypeScript подсветит отсутствующие типы и предложит быстрые исправления для добавления аннотаций.

esbuild OPEN-SOURCE

Запустите esbuild file.ts --outfile=file.js, чтобы быстро удалить типы для сборки, хотя esbuild не выполняет проверку типов.

Об этих форматах

Качество и на что обратить внимание

  • Переименование делает файл валидным TS, но он не дает реальной безопасности, пока вы не добавите аннотации и не включите проверки strict.
  • tsc сообщает об ошибках типов, которые обычный JavaScript игнорировал, поэтому вам может потребоваться исправить неявные any и нетипизированные импорты.
  • esbuild выполняет транспиляцию без проверки типов, поэтому используйте tsc --noEmit вместе с ним, чтобы действительно отловить ошибки типов.

Часто задаваемые вопросы

Является ли `.mjs` валидным TypeScript?
Да. TypeScript - это надмножество JavaScript, поэтому переименованный .mjs компилируется как .ts даже до того, как вы добавите какие-либо аннотации типов.
Что использовать: `.ts` или `.mts`?
Используйте .mts, если хотите, чтобы результат оставался ES-модулем независимо от package.json. Используйте .ts и позвольте tsconfig.json и типу пакета определять формат.
Будут ли работать мои импорты?
Да, синтаксис ESM import/export переносится в TypeScript без изменений. Вы только добавляете информацию о типах поверх него.
Как запустить полученный TypeScript?
Скомпилируйте его с помощью tsc в JavaScript и запустите его, либо используйте раннер типа tsx или ts-node, который выполняет транспиляцию на лету.