commonjsの循環依存関係、esmの循環依存関係、エクスポート値を変更できるかどうか、変更を回避する方法

参考

一般的な

概要: require a file は、ファイルを同期的に実行することです。ファイルの実行後、ファイルのエクスポート値がキャッシュされます。次回アクセスするときは、キャッシュを取り出すだけで済みます。ファイルを 2 回実行します。

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

エスム

esm はメモリ アドレスをエクスポートします。他のファイルがインポートされると、同じアドレスを指します。

ここに画像の説明を挿入
ここに画像の説明を挿入

エクスポート値は変更できます

ここに画像の説明を挿入
ここに画像の説明を挿入

改変を避ける方法

  1. オブジェクトの 1 つのレイヤーだけの場合は、次を使用します。ここに画像の説明を挿入
  2. ネストされたオブジェクトがある場合、各オブジェクトを再帰的に Object.freeze する必要があります。

おすすめ

転載: blog.csdn.net/formylovetm/article/details/127214181