0

クライアント側の Web ページにインポートされる複数の js ソース ファイルを含むディレクトリがあります。また、これらのソース ファイルをすべてサーバー側ノード js アプリにインポートする必要があります。

私はこれまで次のアプローチを使用してきました

if( 'undefined' != typeof global ) {
    module.exports = global.Class= Class;
}

コードはソースファイルの最後に追加されます

ただし、ソース ファイルの編集は避ける必要があります。ソースフォルダーに含まれるすべてのクラスをインポートする方法の良い方法はありますか? ソースファイルを実行して各クラスの modules.exports を用意する代わりに? また、require() 呼び出しにディレクトリを指定して、含まれているすべてのソース ファイルをインポートする方法はありますか?

4

3 に答える 3

2

オブジェクトをグローバル名前空間にエクスポートすることで、Javascript の最高の標準に反することになります。のポイントは、すべてのオブジェクトを使用できるようにするのではなく、必要なオブジェクトをインポートするためにmodule.exports使用できるようにすることです。したがって、答えはノーだと思います.require呼び出しは単一のモジュール参照のみを受け入れます(オブジェクトを変数に割り当てる関数の戻り値のため)。requireJS

「良い」アプローチは、作業を継続するために必要なモジュール/オブジェクトを参照するメインのサイレント コードを保持する単一のファイルをクライアントに含めることです。ソース ファイルは、必要に応じてインクルードされます。

于 2013-02-10T23:28:31.893 に答える
1

クライアント側のファイルを変更できる場合は、次のパターンを使用できます: http://caolanmcmahon.com/posts/writing_for_node_and_the_browser/

于 2013-02-11T14:37:49.247 に答える