John Pappa の AngularJS Style Guideから。これは、より大きなアプリの「Angular 標準構造」になりつつあります。
Folders-by-Feature 構造:表す機能にちなんで名付けられたフォルダーを作成します。フォルダーに 7 個以上のファイルが含まれるようになったら、それらのファイル用のフォルダーを作成することを検討してください。しきい値は異なる場合があるため、必要に応じて調整してください。
なぜ ?: 開発者はコードを見つけ、各ファイルが何を表しているかを一目で識別できます。構造は可能な限りフラットであり、重複する名前や冗長な名前はありません。
なぜ ?: LIFT ガイドラインはすべてカバーされています。
なぜ ?: コンテンツを整理し、LIFT ガイドラインに沿ったものにすることで、アプリが乱雑になるのを防ぐのに役立ちます。
なぜ ?: 多数のファイル (10 以上) がある場合、ファイルの場所を特定することは、一貫したフォルダー構造では簡単ですが、フラットな構造ではより困難になります。
/**
* recommended
*/
app/
app.module.js
app.config.js
app.routes.js
components/
calendar.directive.js
calendar.directive.html
user-profile.directive.js
user-profile.directive.html
layout/
shell.html
shell.controller.js
topnav.html
topnav.controller.js
people/
attendees.html
attendees.controller.js
speakers.html
speakers.controller.js
speaker-detail.html
speaker-detail.controller.js
services/
data.service.js
localstorage.service.js
logger.service.js
spinner.service.js
sessions/
sessions.html
sessions.controller.js
session-detail.html
session-detail.controller.js