なぜ MJS を TS に変換するのですか?
開発者が .mjs を .ts に変換するのは、すでに記述した ES モジュール構造を維持したまま、静的型チェックとエディタの自動補完を利用するためです。
MJS から TS への変換方法
.ts / .mts へのリネーム EASIEST
ファイルを .ts(または ESM 出力を強制する場合は .mts)にリネームします。import/export 文はそのまま機能し、型を段階的に追加できます。
TypeScript コンパイラ (tsc) OPEN-SOURCE
tsconfig.json で "allowJs": true を設定し、tsc を実行して型チェックと JavaScript の出力を行います。エラーが解決したら strict モードを有効にして制限を厳しくします。
Visual Studio Code FREE
リネームした .ts を VS Code で開きます。内蔵の TypeScript サービスが不足している型を検出し、クイックフィックスで型注釈を追加できます。
esbuild OPEN-SOURCE
esbuild file.ts --outfile=file.js を実行すると、ビルド用に型を高速に削除できます。ただし、esbuild 自体は型チェックを行いません。
これらの形式について
An .mjs file is JavaScript source code that Node.js treats as an ECMAScript module, meaning it uses import and export instead of CommonJS require. The extension exists so Node can tell ES…
.MJS の詳細を開く →.ts ファイルは MPEG Transport Stream(MPEG トランスポートストリーム)です。これはデジタルテレビ、PVR 録画、AVCHD ビデオカメラ、HLS ストリーミングで使用されるビデオコンテナ形式です。VLC media player を使用すれば、どの OS でも開くことができます。MP4…
.TS の詳細を開く →品質と注意点
- リネームするだけでファイルは有効な TS になりますが、型注釈を追加して
strictチェックを有効にするまでは、真の安全性は得られません。 tscは通常の JavaScript では無視されていた型エラーを報告するため、暗黙のanyや型定義のないインポートを修正する必要がある場合があります。- esbuild は型チェックなしでトランスパイルするため、実際に型エラーを検出するには
tsc --noEmitを併用してください。
よくある質問
`.mjs` は有効な TypeScript ですか?
.mjs は型注釈を追加する前であっても .ts としてコンパイル可能です。`.ts` と `.mts` のどちらを使うべきですか?
package.json の設定に関わらず、出力を ES モジュールとして維持したい場合は .mts を使用してください。それ以外は .ts を使用し、tsconfig.json やパッケージの type 設定に任せます。インポートは引き続き機能しますか?
import/export 構文は TypeScript にそのまま引き継がれます。その上に型情報を追加するだけです。生成された TypeScript はどうやって実行しますか?
tsc で JavaScript にコンパイルして実行するか、tsx や ts-node のような実行時にトランスパイルを行うランナーを使用します。