Node.jsの最新版「Node.js v20.6.0」が公開 「Node.js 16.x」はサポート終了へ.envファイルのサポートなど新機能を提供

Googleの「V8」JavaScriptエンジンで動作するサーバサイドJavaScript環境の最新版「Node.js v20.6.0」が公開された。

» 2023年09月08日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 OpenJS Foundationは2023年9月4日(米国時間)、Googleの「V8」JavaScriptエンジンで動作するサーバサイドJavaScript環境の最新版「Node.js v20.6.0」を公開した。

 2023年9月時点では、「Node.js 18.x」が「Active LTS」(長期サポートの対象)というリリースステータスにある。Node.js 20.xは「Current」(最新)というリリースステータスで、2023年10月24日からActive LTSに移行する予定だ。

 なお、現在「Maintenance」(メンテナンス)というリリースステータスにある「Node.js 16.x」は、2023年9月11日にサポートが終了する。

Node.jsのリリーススケジュール(提供:OpenJS Foundation)

Node.js v20.6.0の新機能、強化された機能

.envファイルのサポート

 Node.js v20.6.0から、環境変数を設定するための.envファイルをサポートするようになった。

 設定ファイルはINIファイル形式に従う必要があり、各行は環境変数のキーと値のペアを含む。Node.jsアプリケーションを事前に定義された設定で初期化するには、次のCLIコマンドを使用する。

node --env-file=config.env index.js

import.meta.resolveのフラグ解除

 ESモジュールでimport.meta.resolve(specifier)が、CommonJSのrequire.resolveと同様に、specifierが解決する絶対URL文字列を取得するために使用できるようになった。これは、Node.jsをブラウザや他のサーバサイドランタイムに合わせる。

モジュールカスタマイズフックのためのnode:moduleの新しいAPI register

 モジュールカスタマイズフックをエクスポートするファイルを指定し、フックにデータを渡し、フックとの通信チャネルを確立するために、node:moduleで新しいAPI registerが利用できるようになった。

 以下のように、registerとともに--importを使うアプローチが推奨されている。

node --import ./file-that-calls-register.js ./app.js

 --importを使うことで、アプリケーションコードが実行される前にカスタマイズフックが登録される。

モジュールカスタマイズloadフックがCommonJSをサポート

 モジュールカスタマイズフックの作者は、loadフックでESモジュールとCommonJSソースの両方を扱えるようになった。これにより、Node.jsモジュールのロードプロセスのカスタマイズが簡素化される。パッケージ作成者はrequire.extensionsのような非推奨のAPIに依存することなく、Node.jsのより多くの部分をカスタマイズできるからだ。

Node.jsのC++アドオンが、V8のC++ガベージコレクションライブラリであるcppgc (Oilpan)を実験的にサポート

 既存のnode::ObjectWrapヘルパーは引き続き機能するが、cppgcベースのオブジェクト管理が代替手段として機能するようになった。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。