TypeScript Academy · レッスン

tscのemitとnoEmit、バンドラー

Viteやwebpackなどのバンドラーを使う場合に、通常のtsc出力と--noEmitモードを比較します

レッスン 1/38 ステップ

「tscのemitとnoEmit、バンドラー」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全3レッスンが含まれています。

導入

目標:tsc が JS を出力する仕組み、--noEmit の動作、そしてバンドラーが出力処理を置き換えることが多い理由を学びます。

tsc の出力

デフォルトでは、tsc はコンパイル済みの JS ファイル(オプションで .d.ts も)を outDir に出力します。

// tsconfig.json
{
  "compilerOptions": {
    "outDir": "dist"
  }
}

// Command
npx tsc

// Produces JS + .d.ts in dist

noEmit

--noEmit モードでは型をチェックしますが、ファイルの書き込みは行いません。バンドラーが JS を処理するプロジェクトに適しています。

// tsconfig.json
{
  "compilerOptions": {
    "noEmit": true
  }
}

// Command
npx tsc --noEmit

// Only type-checks, no JS output

バンドラー

バンドラー(webpack、Vite、esbuild、SWC)はTS→JSへの変換とアセットの処理を行います。JSを出力するためにtscを使う必要はありません。

CIの設定

一般的なパターンは、CIまたは開発環境でtsc --noEmitを実行し、実際のビルドにはバンドラーを使うことです。

// package.json scripts
{
  "scripts": {
    "typecheck": "tsc --noEmit",
    "dev": "vite"
  }
}

ハイブリッドモード

バンドラーでJSをビルドする一方、--emitDeclarationOnlyで宣言ファイルを出力します。双方の利点を活かせます。

// Sometimes use both
npx tsc --emitDeclarationOnly # for .d.ts
npx vite build # for bundles

問題

クイックチェック:バンドラーを使う場合、なぜtsc --noEmitを実行するのでしょうか。

まとめ

まとめ:tscによる出力はJSを書き出し、--noEmitは型チェックだけを行います。最新の構成では、バンドラー(Vite、webpack)がJSの出力を生成します。

無料で開始

AI チューターと学ぶ TypeScript — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
101
レッスン
352

よくある質問

「tscのemitとnoEmit、バンドラー」レッスンは無料ですか?

はい。「tscのemitとnoEmit、バンドラー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全3レッスンが含まれています。

「tscのemitとnoEmit、バンドラー」で何を学びますか?

Viteやwebpackなどのバンドラーを使う場合に、通常のtsc出力と--noEmitモードを比較します ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

TypeScript Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。

「tscのemitとnoEmit、バンドラー」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このTypeScript Academyレッスンでコードを書いて実行できますか?

はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. tscのemitとnoEmit、バンドラー
  2. Vite / esbuild / SWC / Rollupの基本
  3. Declaration、ソースマップ、型のexport
← TypeScript Academyに戻る