[解決済み] 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、または他のテンプレートエンジンであっても)あなたの明示的な見解をすべて含んでいます。
関連
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Node.jsでファイル/ディレクトリが存在するかどうかを同期的にチェックする
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み] テスト
-
[解決済み】MongoClient v3.0使用時、db.collectionは関数ではない
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】モジュール '@babel/core' が見つかりません。
-
[解決済み】nodemon - app crashed - waiting for file changes before start
-
[解決済み] TypeError: コールバックはnodejsの関数ではありません。
-
[解決済み] Npmエラー - Windows NT - 解決方法
-
[解決済み] http-server コマンドが見つかりません。
-
[解決済み] バルク更新を行う。