Pourquoi convertir MJS en TS ?
Les développeurs convertissent le .mjs en .ts pour bénéficier du contrôle de type statique et de l'autocomplétion de l'éditeur tout en conservant la même structure de module ES déjà écrite.
Comment convertir MJS en TS
Renommer en .ts / .mts EASIEST
Renommez le fichier en .ts (ou .mts pour forcer la sortie ESM) ; les instructions import/export fonctionnent telles quelles et vous ajoutez des types progressivement.
Compilateur TypeScript (tsc) OPEN-SOURCE
Définissez "allowJs": true dans le tsconfig.json, puis lancez tsc pour vérifier les types et générer du JavaScript ; activez le mode strict une fois les erreurs résolues.
Visual Studio Code FREE
Ouvrez le fichier renommé en .ts dans VS Code ; son service TypeScript intégré fait remonter les types manquants et propose des correctifs rapides pour ajouter des annotations.
esbuild OPEN-SOURCE
Lancez esbuild file.ts --outfile=file.js pour supprimer rapidement les types pour un build, bien que esbuild ne vérifie pas les types.
À propos de ces formats
Un fichier .mjs est un code source JavaScript que Node.js traite comme un module ECMAScript, ce qui signifie qu'il utilise import et export au lieu du require de CommonJS. L'extension…
Ouvrir les détails de .MJS →Un fichier .ts est un MPEG Transport Stream - un format de conteneur vidéo issu de la télévision numérique, des enregistrements PVR, des caméscopes AVCHD et du streaming HLS. VLC media…
Ouvrir les détails de .TS →Qualité et points de vigilance
- Le renommage rend le fichier TS valide, mais il n'apporte aucune sécurité réelle tant que vous n'ajoutez pas d'annotations et n'activez pas les vérifications
strict. tscsignale des erreurs de type que le JavaScript pur ignorait, vous devrez donc peut-être corriger lesanyimplicites et les imports non typés.- esbuild transpile sans vérification de type, utilisez donc
tsc --noEmiten parallèle pour détecter réellement les erreurs de type.
Foire aux questions
Est-ce que le .mjs est du TypeScript valide ?
.mjs renommé se compile en .ts même avant d'ajouter des annotations de type.Dois-je utiliser .ts ou .mts ?
.mts lorsque vous voulez que la sortie reste un module ES quel que soit le contenu du package.json. Utilisez .ts et laissez le tsconfig.json et le type de paquet décider.Mes imports fonctionnent-ils toujours ?
import/export est conservée telle quelle dans TypeScript. Vous ajoutez seulement des informations de type par-dessus.Comment exécuter le TypeScript résultant ?
tsc en JavaScript et exécutez ce dernier, ou utilisez un exécuteur comme tsx ou ts-node qui transpile à la volée.