Googleの「V8」JavaScriptエンジンで動作するサーバサイドJavaScript環境の最新版「Node.js v20.6.0」が公開された。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
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 v20.6.0から、環境変数を設定するための.envファイルをサポートするようになった。
設定ファイルはINIファイル形式に従う必要があり、各行は環境変数のキーと値のペアを含む。Node.jsアプリケーションを事前に定義された設定で初期化するには、次のCLIコマンドを使用する。
node --env-file=config.env index.js
ESモジュールでimport.meta.resolve(specifier)が、CommonJSのrequire.resolveと同様に、specifierが解決する絶対URL文字列を取得するために使用できるようになった。これは、Node.jsをブラウザや他のサーバサイドランタイムに合わせる。
モジュールカスタマイズフックをエクスポートするファイルを指定し、フックにデータを渡し、フックとの通信チャネルを確立するために、node:moduleで新しいAPI registerが利用できるようになった。
以下のように、registerとともに--importを使うアプローチが推奨されている。
node --import ./file-that-calls-register.js ./app.js
--importを使うことで、アプリケーションコードが実行される前にカスタマイズフックが登録される。
モジュールカスタマイズフックの作者は、loadフックでESモジュールとCommonJSソースの両方を扱えるようになった。これにより、Node.jsモジュールのロードプロセスのカスタマイズが簡素化される。パッケージ作成者はrequire.extensionsのような非推奨のAPIに依存することなく、Node.jsのより多くの部分をカスタマイズできるからだ。
既存のnode::ObjectWrapヘルパーは引き続き機能するが、cppgcベースのオブジェクト管理が代替手段として機能するようになった。
Copyright © ITmedia, Inc. All Rights Reserved.