Node.js プロジェクトには次のようなフォルダーが含まれていることがよくあります。
/libs、/vendor、/support、/spec、/tests
これらは正確には何を意味するのでしょうか? それらの違いは何ですか? 参照コードはどこに含めるべきでしょうか?
ベストアンサー1
あなたが言及したフォルダに関して:
/libs
通常はカスタムに使用されますclasses/functions/modules
/vendor
または/support
サードパーティのライブラリが含まれています(git をソース管理として使用する場合は git サブモジュールとして追加されます)/spec
BDD テストの仕様が含まれています。/tests
アプリケーションのユニットテストが含まれています(テストフレームワークを使用、ここ)
注: NPM がクリーンなパッケージ管理を導入して以来、/vendor
と は両方とも/support
非推奨です。NPM と package.json ファイルを使用して、すべてのサードパーティの依存関係を処理することをお勧めします。
かなり大きなアプリケーションを構築する場合、次の追加フォルダをお勧めします(特に、MVC / ORMフレームワークを使用している場合)急行またはマングース):
/models
すべてのORMモデル(Schemas
mongooseで呼び出される)が含まれます/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、その他のテンプレート エンジン) が含まれます。