最近有一個新專案要用 Angular 4 開發,突然覺得之前開發 Angular 2 及 Angular 4 的目錄結構有點亂,想藉此機會整理一下檔案架構。
我重新檢視這一年來用 Angular 2 及 Angular 4 開發的專案。同時參考了國外 Angular 大師的 Blog 及一些 GitHub 專案,整理成這篇 Angular 4 File Structure。
範例 1 - Single Module
如果專案不大,沒有需要分 Module 的話,我建議用這樣的檔案架構:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| index.html app/ main.ts app.component.ts app.component.html app.component.css app.routes.ts components/ contacts.component.ts contacts.component.html contacts.component.css contacts-list.component.ts contacts-list.component.html contacts-list.component.css shared/ config.ts definitions/ typings.d.ts components/ dialog.component.ts dialog.component.html dialog.component.css menu.component.ts menu.component.html menu.component.css directives/ ckeditor.directive models/ result.model.ts services/ signalr.service.ts
|
範例 2 - Multiple Modules
如果專案較大,有分很多個 Module 的話,我建議用這樣的檔案架構:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| index.html app/ main.ts app.component.ts app.component.html app.component.css app.routes.ts contacts/ contacts.routes.ts components/ contacts.component.ts contacts.component.html contacts.component.css contacts-list.component.ts contacts-list.component.html contacts-list.component.css models/ contact.model.ts services/ contacts.service.ts shared/ config.ts definitions/ typings.d.ts components/ dialog.component.ts dialog.component.html dialog.component.css menu.component.ts menu.component.html menu.component.css directives/ ckeditor.directive models/ result.model.ts services/ signalr.service.ts
|
Visual Studio 2017
Visual Studio 2017 開啟 ASP.NET Core 網站專案,會自動收合同名 *.html
下的 *.css
、*.ts
、*.js
及*.js.map
。
這個功能讓整個檔案架構看起來超清爽~~
如下圖,左邊是 Visual Studio 2017 方案總管的呈現,右邊是實際的檔案位置:
參考