0

昨日、Node アプリ間でコードを共有することについてこの質問をしましたが、回答がありませんでした。

NODE_PATH に必要なパスを追加することは悪い習慣と見なされますか?

前の質問で述べたように、2 つのノード アプリ間で共通のアセットを共有する方法を見つけるのに苦労しています。私が思いつく唯一の賢明な解決策は、git サブモジュールを使用することです。Mongoose スキーマなどの共通アセットを含むこのサブモジュールを両方のアプリのルートに配置し、必要に応じてファイルを更新してから、プッシュして他のアプリにプルします。これは非常に単純なプロセスであり、最初の質問で考えた 3 番目のソリューションのように、アプリ自体のファイルとの深刻なマージの問題はありません。

この構造の優れた点は、サブモジュール パスを Node の require パスに追加するfolder/file.js代わりに、これらの共通アセットを単に require できることです。submodule/folder/file.jsこれは、サブモジュールのパスをパス スタックのさらに上に配置することで、サブモジュールの共通ファイルをアプリ自体のそれぞれのファイル (存在する場合) で上書きできることも意味します。これにより、ローカル ファイルが見つかった場合、ノードは、サブモジュールに相当します。

しかし、小さな問題が 1 つあります。ノードのドキュメントには、必要なパスを NODE_PATH に追加することに関する次のステートメントがあります。

依存関係を node_modules フォルダーにローカルに配置することを強くお勧めします。それらはより速く、より確実にロードされます。

基本的に、これは悪い習慣と見なされ、アプリの速度が低下することを意味します。これは私が本当に望んでいないことです。それとも、これはグローバル パスにのみ適用されるので、サブモジュール (アプリのルートにある) は問題になりませんか?

4

2 に答える 2

0

基本的に、これは悪い習慣と見なされ、アプリの速度が低下することを意味します

はい、それは悪い習慣と見なされます。便利な場合もありますが、それには正当な理由が必要です。

いいえ、アプリの速度が低下することはありません。

于 2014-01-31T23:13:54.253 に答える