首先,來看一下根目錄下都包含哪些東西:
➜ my-app git:(master) ✗ tree -L 1 -a
.
├── .DS_Store
├── .angular-cli.json
├── .editorconfig
├── .git
├── .gitignore
├── README.md
├── e2e
├── karma.conf.js
├── node_modules
├── package.json
├── protractor.conf.js
├── src
├── tsconfig.json
└── tslint.json
4 directories, 10 files
README.md
這是項目說明文件,這裏默認寫的是Angular CLI的一些基本操作命令,以方便開發者快速上手。
e2e/
端到端測試,適用於測試應用。
karma.conf.js
給Karma的單元測試配置,當運行 ng test
時會用到它。
node_modules/
這裏存放的都是npm安裝的依賴包。
package.json
npm 配置文件,其中列出了項目使用到的第三方依賴包。 你還可以在這裏添加自己的自定義腳本。
protractor.conf.js
給Protractor使用的端到端測試配置文件,當運行 ng e2e
的時候會用到它。
src/
存放你的應用代碼。
tsconfig.json
TypeScript編譯器的配置,你的IDE會藉助它來給你提供更好的幫助。
tslint.json
給TSLint和Codelyzer用的配置信息,當運行 ng lint
時會用到。 Lint功能可以幫你保持代碼風格的統一。
對於項目來說,最主要的就是 src/
目錄了,下面我們來看一下這個目錄的構成:
➜ src git:(master) ✗ tree -Ca
.
├── app
│ ├── app.component.css
│ ├── app.component.html
│ ├── app.component.spec.ts
│ ├── app.component.ts
│ └── app.module.ts
├── assets
│ └── .gitkeep
├── environments
│ ├── environment.prod.ts
│ └── environment.ts
├── favicon.ico
├── index.html
├── main.ts
├── polyfills.ts
├── styles.css
├── test.ts
├── tsconfig.app.json
├── tsconfig.spec.json
└── typings.d.ts
3 directories, 17 files
app/app.component.*
根組件,這個項目的出發點
app/app.module.ts
定義 AppModule ,這個 根模塊 會告訴Angular如何組裝該應用。 目前,它只聲明瞭 AppComponent 。 稍後它還會聲明更多組件。
assets/*
這個文件夾下你可以放圖片等任何東西,在構建應用時,它們全都會拷貝到發佈包中。
environments/*
這個文件夾中包括爲各個目標環境準備的文件,它們導出了一些應用中要用到的配置變量。 這些文件會在構建應用時被替換。 比如你可能在產品環境中使用不同的API端點地址,或使用不同的統計Token參數。 甚至使用一些模擬服務。 所有這些,CLI都替你考慮到了。
favicon.ico
網站導航欄上的小圖標。
index.html
網站的入口,一般情況下Angular CLI會自動填寫相應的鏈接文件,所以基本上並不需要修改。
main.ts
應用的主要入口點。
polyfills.ts
不同的瀏覽器對Web標準的支持程度也不同。 填充庫(polyfill)能幫我們把這些不同點進行標準化。 你只要使用core-js
和 zone.js
通常就夠了。
styles.css
保存全局樣式,局部樣式可以寫在對應的組件裏。
test.ts
單元測試的主要入口點,不需要編輯這裏的東西。
tsconfig.*.json
TypeScript編譯器的配置文件。 tsconfig.app.json 是爲Angular應用準備的,而 tsconfig.spec.json 是爲單元測試準備的。
typings.d.ts
標記 js 庫裏面對象的類型。
參考資料: