0Pricing
TypeScript Academy · レッスン

@types/node、NodeにおけるESMとCJS

@types/nodeはNode APIの型定義を提供します。tsconfigのmoduleオプションでCommonJSとESMを選択できます

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

導入

目標:型安全性のために @types/node を使用し、CommonJS と ES Modules の違いに応じて TS を設定します。

型定義をインストール

@types/node をインストールすると、fs や path など、Node に組み込まれている API の型定義を利用できます。

npm install --save-dev @types/node

Node のグローバル

@types/node を使うと、process、__dirname、__filename などのグローバルが型付きで認識されます。

console.log(process.version);
console.log(__dirname);
console.log(__filename);

CJS の例

CommonJS:Node のデフォルトです。require と module.exports を使用します。

// CommonJS style
const fs = require("fs");
const data = fs.readFileSync("file.txt", "utf8");
console.log(data);

ESM の例

ESM:import/export を使うモダンな構文です。tsconfig では "module": "ESNext" を設定し、package.json では "type": "module" が必要です。

// ES Module style
import fs from "fs";
const data = fs.readFileSync("file.txt", "utf8");
console.log(data);

tsconfig のモジュール

tsconfig.json でモジュールシステムを制御します。module を CommonJS と ESNext の間で切り替えます。

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "CommonJS",
    "moduleResolution": "node"
  }
}

型定義の確認

簡単な確認:なぜ @types/node をインストールするのですか?

振り返り

振り返り:@types/node は型定義を追加します。CommonJS では require、ESM では import を使用します。モジュールシステムは tsconfig で決まります。

よくある質問

「@types/node、NodeにおけるESMとCJS」レッスンは無料ですか?

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

「@types/node、NodeにおけるESMとCJS」で何を学びますか?

@types/nodeはNode APIの型定義を提供します。tsconfigのmoduleオプションでCommonJSとESMを選択できます ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「@types/node、NodeにおけるESMとCJS」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. @types/node、NodeにおけるESMとCJS
  2. 実行時オプション(ts-node/tsx)とソースマップ
← TypeScript Academyに戻る