Node.js v20.6 は、2023 年 10 月 24 日から LTS バージョンの一部である素晴らしい新機能とともにリリースされました。見てみましょう!
INI 設定ファイル
dotenv パッケージに別れを告げ、Node.js が .env ファイルから環境変数を読み込めるようになりました。
リーリー
? Node.js が INI ファイルのデフォルト名を選択しなかったため、INI ファイルへのパスが必要です。
? INI ファイルが存在しない場合、ノード プロセスは失敗していないため、環境変数を指定せずに実行を開始してください。
NODE_OPTIONS をロード中
次の例のような INI 構成ファイルを使用して、Node.js の特定の環境変数 (NODE_OPTIONS など) をロードできます。
リーリー
これも同じ方法で使用できます:
リーリー
ESモジュールのプリロード
起動時に --import フラグを使用して ES モジュールをプリロードします。モジュールは、アプリケーション コードが実行される前に、エントリ ポイントも含めてロードされます。
リーリー
このフラグは、CommonJS モジュールをロードするために使用されるよく知られた --require フラグに似ています。
? --require でプリロードされたモジュールは、--import でプリロードされたモジュールよりも前に実行されます。
権限モデル
Permission Model と呼ばれる Node.js プロセスの実行中に特定のリソースへのアクセスを制限する新しいメカニズムがあります。 API はフラグ --experimental-permission の背後にあり、これを有効にすると、明示的に許可されていないすべてのリソースへのアクセスが制限されます。
ファイル システムのアクセス許可
--allow-fs-read フラグは、* を使用したすべての FileSystemRead 操作、または絶対ルートを使用した特定のパスへの操作を許可します。
リーリー
特定のパスへのアクセスのみを許可するには、絶対ルートを使用する必要があります
リーリー
?初期化モジュールも許可する必要があります。そうしないと、Node.js プロセス自体によってindex.js ファイルを読み込むことができません。
?を使用できます。作業ディレクトリへのアクセスを許可しますが、ファイル (例: ./index.js) へのパスの指定には使用できません。
リーリー
--allow-fs-write フラグにより、*.
を使用した特定のパスまたはファイル システム全体へのアクセスが許可されます。
リーリー
子プロセス
権限モデルが有効な場合、プロセスはデフォルトで子プロセスを生成できなくなります。この操作を許可するには --allow-child-process を使用する必要があります。次のコードをindex.jsに使用してみましょう
リーリー
権限モデルを有効にしてこのスニペットを実行するには、次のコマンドを使用してindex.jsを実行する必要があります:
リーリー
?子プロセスはデフォルトでは権限モデルを継承しないため、new-file.txt は正常に作成されます。
その他のオプション
この権限モデルでワーカー スレッドを作成する場合は --allow-worker フラグをチェックし、WASI インスタンスの作成を許可する場合は --allow-wasi をチェックします
結論
アプリケーションの環境変数をロードするための新しいツール、コードで必要なプリロード ES モジュールをインポートする方法、システムのセキュリティを強化するための新しい権限モデルが多数あります。
Node.js のブログにご注目ください。このチームはすべてのバージョンに素晴らしい機能を追加しています。 v22.6.0 では、初期の TypeScript サポートと DevTools を使用したネットワーク検査が提供されています。
以上がNode.js v .env ファイル、インポート モジュール、および権限モデルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。