BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Node.js 2023年版がリリース

Node.js 2023年版がリリース

原文リンク(2023-09-20)

先日、Node.jsチームはバージョン20.6.0をリリースし、環境変数設定、モジュール解決、モジュールカスタマイズ、C++ガベージ・コレクションの実験的サポートを改善した。

このパッチでは、開発者は .env ファイルのビルトインサポートという新機能を利用できる。.envファイルはINIファイル形式を踏襲しており、環境変数を設定するための簡略化されたアプローチを提供する。開発者は、node--env-file=config.env index.jsという簡単なCLIコマンドを使って、あらかじめ定義された設定で簡単にアプリケーションを初期化できる。このアップデートにより、環境変数の管理が効率化された。

もう1つの注目すべき変更点は、フラグのないimport.meta.resolve(specifier)関数である。この調整は、Node.jsを他のサーバーサイド・ランタイムやブラウザと整合させる上で重要な役割を果たす。この関数は、モジュールの解決に絶対URL文字列を提供するようになり、クロスプラットフォーム互換性が強化され、異なる環境間でのモジュール管理を簡素化できる。

Node.js 20.6.0 では、node:module 名前空間内にregister という新しい API も導入された。この API はモジュールのカスタマイズフックを簡素化することで、開発者がこれらのフックをエクスポートするファイルの指定を可能にし、メインアプリケーションスレッドとフックスレッド間の通信チャネルを容易にする。開発者は、効率的なフック登録のためにregister とともに--import を使用するアプローチへの移行が推奨される。

Node.js 20.6.0 では、モジュール・カスタマイズ・ロード・フックが強化され、ES モジュールと CommonJS ソースの両方を管理できるようになった。この柔軟性により、Node.js モジュールのロードとカスタマイズのプロセスが合理化され、非推奨 API への依存が解消された。

Node.js C++アドオンは、C++ガベージ・コレクタの実験的なサポートを備え、V8のメモリ管理との互換性を強化した。このサポートにより、Node.js が v8::CppHeap で起動し、V8 の<cppgc/*> ヘッダを使用したメモリ割り当てが可能になる。安定性はマイナー・アップデートやパッチ・アップデートで変わるかもしれないが、C++ガベージ・コレクタはChromiumで強力な実績があり、C++アドオン開発に有望な選択肢となっている。

2023年4月にリリースされたNode.js 20は、ES2023の採用、WebAssembly System Interface(WASI)の実験的サポート、V8 JavaScriptエンジンがバージョン11.3に更新されたことによるパフォーマンスと安定性の重視など、大きな変更が加えられた。このリリースでは、実験的なパーミッションモデルの導入によりセキュリティが強化、安定したテストランナーが備わり、単一実行可能アプリの機能が導入されたことで、Node.jsがインストールされていないシステムでもNode.jsアプリを配布できるようになった。これらの開発は、新しいオペレーティングシステムのサポート、TypeScriptの互換性の向上、新しい開発者ツールとAPIの導入と相まって、Node.jsを強固なものにしている。

Node.js 20は現在ベータフェーズにあり、2023年10月24日に長期サポート(LTS)に移行する予定だ。これは、最低3年間、セキュリティアップデートやバグ修正を含む継続的なサポートが受けられることを表している。

作者について

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT