SJ blog
backend
S

信頼度ランク

S 公式ソース確認済み
A 成功実績多数・失敗例少数
B 賛否両論
C 動作未確認・セキュリティリスク高
Z 個人所感

Node.js 24の新機能と注目ポイント

2026年4月にリリースされたNode.js 24(LTS予定)の主要な新機能を解説。npm 11・V8エンジン更新・URLPattern・require(esm)安定化などをまとめます。

一言結論

Node.js 24ではrequire(esm)の安定化によりCJSとESMの共存問題が実質解消され、Temporal APIとURLPatternのネイティブ対応でpolyfillなしに最新Web標準を使えるようになった。

Node.js 24 の概要

Node.js 24 は 2026年4月にリリースされた最新のメジャーバージョンです。2026年10月に LTS(長期サポート)に移行予定で、2029年4月まで Active サポートが続きます。

主な新機能

V8 エンジン 13.4 へのアップグレード

V8 の更新により、ES2026 の新機能(Temporal API・Math.sumPreciseusing 宣言)がネイティブサポートされました。

// Node.js 24 で Temporal が使える
const today = Temporal.Now.plainDateISO();
console.log(today.toString()); // "2026-04-08"

require(esm) の安定化

Node.js 22 で実験的に導入された require() による ES Module 読み込みが、24 で安定版になりました。

// CommonJS から ESM を require できる
const { helper } = require("./esm-module.mjs");

ただし、ESM 内でトップレベル await を使っているモジュールは require() できません。

URLPattern API の追加

Web 標準の URLPattern が Node.js に追加されました(ブラウザと同じ API)。

const pattern = new URLPattern({ pathname: "/users/:id" });

pattern.test("https://example.com/users/123"); // true

const match = pattern.exec("https://example.com/users/456");
console.log(match.pathname.groups.id); // "456"

npm 11 の同梱

Node.js 24 には npm 11 が同梱されています。主な改善点:

# ワークスペースの改善
npm install --workspaces
npm run build -w packages/ui

# --foreground-scripts デフォルト化(ライフサイクルスクリプトの出力を常に表示)

node --run の安定化

package.json の scripts を直接実行するコマンドが安定版になりました。

node --run build   # npm run build と同等(npm 不要)
node --run test

Permission Model の改善

Node.js 20 で導入されたパーミッションモデルが強化されました。

# ファイルシステムの読み取りのみ許可
node --experimental-permission --allow-fs-read=/tmp/data app.js

# ネットワークアクセスを特定ホストに制限
node --experimental-permission --allow-net=example.com app.js

LTS スケジュール

Node.js 18: EOL 2025年4月
Node.js 20: Active LTS → 2026年4月まで
Node.js 22: Active LTS → 2027年4月まで
Node.js 24: LTS 移行予定 2026年10月、EOL 2029年4月

アップグレード時の注意点

- Python 3.12+ が必要(ビルド時)
- npm 11 で一部の API が変更
- V8 の変更による挙動の差異(まれにあり)

まとめ

Node.js 24 の最大のポイントは require(esm) の安定化Temporal API のネイティブサポートです。ESM への移行が完全に完了していないプロジェクトでも、段階的な移行がしやすくなります。新プロジェクトでは Node.js 22 LTS か、安定化後に 24 LTS を選ぶのが無難です。


参考: Node.js 公式ブログ / Node.js リリーススケジュール