Node.js プロジェクトのフォルダ構造 質問する

Node.js プロジェクトのフォルダ構造 質問する

Node.js プロジェクトには次のようなフォルダーが含まれていることがよくあります。

/libs、/vendor、/support、/spec、/tests

これらは正確には何を意味するのでしょうか? それらの違いは何ですか? 参照コードはどこに含めるべきでしょうか?

ベストアンサー1

あなたが言及したフォルダに関して:

  • /libs通常はカスタムに使用されますclasses/functions/modules
  • /vendorまたは/supportサードパーティのライブラリが含まれています(git をソース管理として使用する場合は git サブモジュールとして追加されます)
  • /specBDD テストの仕様が含まれています。
  • /testsアプリケーションのユニットテストが含まれています(テストフレームワークを使用、ここ

注: NPM がクリーンなパッケージ管理を導入して以来、/vendorと は両方とも/support非推奨です。NPM と package.json ファイルを使用して、すべてのサードパーティの依存関係を処理することをお勧めします。

かなり大きなアプリケーションを構築する場合、次の追加フォルダをお勧めします(特に、MVC / ORMフレームワークを使用している場合)急行またはマングース):

  • /modelsすべてのORMモデル(Schemasmongooseで呼び出される)が含まれます
  • /viewsビューテンプレートが含まれています(Expressでサポートされている任意のテンプレート言語を使用)
  • /publicすべての静的コンテンツ(画像、スタイルシート、クライアント側JavaScript)が含まれます
    • /assets/images画像ファイルが含まれています
    • /assets/pdf静的なPDFファイルが含まれています
    • /cssスタイルシート(または CSS エンジンによるコンパイルされた出力)が含まれています
    • /jsクライアントサイドJavaScriptを含む
  • /controllersアプリケーションのモジュール/領域ごとに区切られたすべての Express ルートが含まれます (注: Express のブートストラップ機能を使用する場合、このフォルダーは と呼ばれます/routes)

私はこのようにプロジェクトを整理することに慣れており、かなりうまくいっていると思います。

CoffeeScriptベースのExpressアプリケーションの更新(アセットを接続する):

  • /appコンパイルされたJavaScriptが含まれています
  • /assets/コンパイルを必要とするすべてのクライアント側アセットが含まれています
    • /assets/jsクライアント側のCoffeeScriptファイルが含まれています
    • /assets/cssすべてのLESS/Stylusスタイルシートが含まれています
  • /public/(js|css|img)どのコンパイラでも処理されない静的ファイルが含まれています
  • /srcサーバー側固有のCoffeeScriptファイルがすべて含まれています
  • /testすべてのユニットテスト スクリプトが含まれています (選択したテスト フレームワークを使用して実装されます)
  • /viewsすべての Express ビュー (jade、ejs、その他のテンプレート エンジン) が含まれます。

おすすめ記事