Windows DLL に概念的に似たものを探しています。具体的な例として、関連のないいくつかのプロジェクトで共有したい関数 encrypt があるとします。実装を理想的に変更したい場合は、一度変更すれば、すべてのプロジェクトが新しい実装にアクセスできます。Node.jsでこれを行うメカニズムはありますか?
1 に答える
このドキュメント、特に「ライブラリの作成」セクションを見てください。
他の人が使用することを意図したプログラムを作成している場合、package.json ファイルで指定する最も重要なものはメイン モジュールです。これは、プログラムへのエントリ ポイントとなるモジュールです。
と
JavaScript コードが多い場合は、プロジェクトの ./lib フォルダーに配置するのが習慣です。
package.json ファイルでメイン モジュールを指定します。これは、require('your-library') を行うときにユーザーがロードするモジュールです。このモジュールは、ライブラリ内のすべての機能を公開するのが理想的です。
ユーザーがライブラリの「内臓」からサブモジュールをロードできるようにする場合は、サブモジュールへのフル パスを指定する必要があります。それは文書化するのに大変な作業です!単純にメイン モジュールを指定し、必要に応じて、必要なものを動的にロードする方法を用意する方が、より適切で将来性の高いものです。
たとえば、flip/lib/widgets/*.js ファイル内のファイルによって定義されたウィジェット オブジェクトのコレクションであるフリップ ライブラリがあるとします。blerg ウィジェットを取得するためにユーザーに require('flip/lib/widgets/blerg.js') を実行させるよりも、require('flip').loadWidget('blerg') のようなものを用意することをお勧めします。