Por que converter MJS para TS?
Desenvolvedores convertem .mjs para .ts para obter verificação de tipo estática e autocompletar no editor, mantendo a mesma estrutura de ES-module que já escreveram.
Como converter MJS para TS
Renomear para .ts / .mts EASIEST
Renomeie o arquivo para .ts (ou .mts para forçar a saída ESM); as instruções import/export funcionam como estão e você adiciona tipos incrementalmente.
Compilador TypeScript (tsc) OPEN-SOURCE
Defina "allowJs": true no tsconfig.json, então execute tsc para verificar os tipos e emitir JavaScript; ative o modo strict assim que os erros forem resolvidos.
Visual Studio Code FREE
Abra o arquivo .ts renomeado no VS Code; seu serviço TypeScript integrado exibirá tipos ausentes e correções rápidas para adicionar anotações.
esbuild OPEN-SOURCE
Execute esbuild file.ts --outfile=file.js para remover os tipos rapidamente para um build, embora o esbuild não faça a verificação de tipos.
Sobre estes formatos
Um arquivo .mjs é um código-fonte JavaScript que o Node.js trata como um módulo ECMAScript, o que significa que ele usa import e export em vez do require do CommonJS. A extensão existe para…
Abrir detalhes de .MJS →Um arquivo .ts é um MPEG Transport Stream - um formato de contêiner de vídeo de TV digital, gravações de PVR, filmadoras AVCHD e streaming HLS. O VLC media player abre-o em qualquer sistema…
Abrir detalhes de .TS →Qualidade e o que observar
- Renomear torna o arquivo um TS válido, mas ele não ganha segurança real até que você adicione anotações e habilite as verificações
strict. - O
tscrelata erros de tipo que o JavaScript comum ignorava, então você pode precisar corrigiranyimplícitos e importações sem tipo. - O esbuild transpila sem verificação de tipos, portanto, use
tsc --noEmitjunto com ele para realmente capturar erros de tipo.
Perguntas frequentes
O .mjs é um TypeScript válido?
.mjs renomeado compila como .ts mesmo antes de você adicionar qualquer anotação de tipo.Devo usar .ts ou .mts?
.mts quando quiser que a saída permaneça um ES module independentemente do package.json. Use .ts e deixe o tsconfig.json e o tipo do pacote decidirem.Minhas importações ainda funcionam?
import/export é transferida inalterada para o TypeScript. Você apenas adiciona informações de tipo sobre ela.Como executo o TypeScript resultante?
tsc para JavaScript e execute-o, ou use um executor como tsx ou ts-node que transpila em tempo de execução.