1. ホーム
  2. node.js

[解決済み] Node.jsプロジェクトのフォルダ構造

2022-03-14 14:36:21

質問

Node.jsのプロジェクトには、次のようなフォルダがよくありますね。

<ブロッククオート

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

これらは一体何を意味するのでしょうか?また、どこに参照コードを記載すればよいのでしょうか?

どのように解決するのですか?

ご指摘のフォルダーについて。

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

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

かなり大規模なアプリケーションを構築する場合、以下の追加フォルダをお勧めします (特に、以下のような MVC- / ORM-Framework を使用している場合)。 表現 または マングース ):

  • /models には、すべてのORMモデル( Schemas を使用します)。
  • /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 jade、ejs、または他のテンプレートエンジンであっても)あなたの明示的な見解をすべて含んでいます。