4

Windows DLL に概念的に似たものを探しています。具体的な例として、関連のないいくつかのプロジェクトで共有したい関数 encrypt があるとします。実装を理想的に変更したい場合は、一度変更すれば、すべてのプロジェクトが新しい実装にアクセスできます。Node.jsでこれを行うメカニズムはありますか?

4

1 に答える 1

2

このドキュメント、特に「ライブラリの作成」セクションを見てください。

他の人が使用することを意図したプログラムを作成している場合、package.json ファイルで指定する最も重要なものはメイン モジュールです。これは、プログラムへのエントリ ポイントとなるモジュールです。

JavaScript コードが多い場合は、プロジェクトの ./lib フォルダーに配置するのが習慣です。

package.json ファイルでメイン モジュールを指定します。これは、require('your-library') を行うときにユーザーがロードするモジュールです。このモジュールは、ライブラリ内のすべての機能を公開するのが理想的です。

ユーザーがライブラリの「内臓」からサブモジュールをロードできるようにする場合は、サブモジュールへのフル パスを指定する必要があります。それは文書化するのに大変な作業です!単純にメイン モジュールを指定し、必要に応じて、必要なものを動的にロードする方法を用意する方が、より適切で将来性の高いものです。

たとえば、flip/lib/widgets/*.js ファイル内のファイルによって定義されたウィジェット オブジェクトのコレクションであるフリップ ライブラリがあるとします。blerg ウィジェットを取得するためにユーザーに require('flip/lib/widgets/blerg.js') を実行させるよりも、require('flip').loadWidget('blerg') のようなものを用意することをお勧めします。

于 2012-05-05T10:42:59.457 に答える