node download
https://nodejs.org/zh-cn/
全域性安裝
npm install @angular/cli -g
指定版本
npm install @angular/cli@8.3.29 -g
angular-cli versions
https://www.npmjs.com/package/@angular/cli
檢查安裝版本
ng version
建立專案
ng new app-name
工程目錄
┌─ e2e
├─ src
├─ angular.json
│ (Angular 應用程的配置檔案)
│
├─ karma.conf.js
│ (karmar 單元測試配置檔案)
│
├─ package.json
│ (npm包管理及專案命令配置檔案)
│
├─ tsconfig.app.json
│ (TypeScript 配置檔案, 在 angular.json 中 architect/build/options/tsConfig)
│
├─ tsconfig.json
│ (TypeScript 配置檔案)
│
│ tsconfig.json 和 tsconfig.app.json 的區別:
│ 1. tsconfig.app.json 繼承自 tsconfig.json
│ 2. tsconfig 中配置的是 TypeScript 的基本配置
│ - 儲存時編譯
│ - 指定ES版本等
│ - ···
│ 3. tsconfig.app 中配置的是和專案有關的
│ - files 指定一些ts檔案
│ - include/exclude 包含/排除一些檔案
│ - ···
│ (具體配置資訊參見: https://www.tslang.cn/docs/handbook/tsconfig-json.html)
│
└─ tslint.json
(TypeScript 程式碼約束配置檔案)
src 目錄
┌─ app
│ (應用程式內容目錄)
│
├─ assets
│ (靜態資源目錄, 在 angular.json 中 architect/build/options/assets)
│
├─ environments
│ (環境變數目錄, 在 angular.json 中 architect/build/configurations)
│
│ 在不同環境編譯時指定 configuration 可以編譯成不同的配置檔案, 例如:
│ - environments
│ - environment.prod.ts -- 正式
│ ————————————————————————————————
│ - angular.json/.../architect/build/configurations
│ "production": {
│ "fileReplacements": [
│ {
│ "replace": "src/environments/environment.ts",
│ with: "src/environments/environment.prod.ts"
│ }
│ ]
│ }
│ ————————————————————————————————
│ - package.json/scripts
│ "build-prod": "ng build --configuration=production"
│ ————————————————————————————————
│ - npm run build-prod
│
├─ index.html
│ (Angular 應用入口頁面, 在 angular.json 中 architect/build/options/index)
│
├─ main.ts
│ (Angular 應用啟動入口, 在 angular.json 中 architect/build/options/main)
│
├─ polyfills.ts
│ (膩子指令碼, 相容低版本瀏覽器, 在 angular.json 中 architect/build/options/polyfills)
│
├─ style.scss
│ (全域性樣式, 在 angular.json 中 architect/build/options/styles)
│
└─ test.ts
(單元測試, 在 angular.json 中 architect/test/options/main)
app 目錄
┌─ app.module.ts
│ (根模組, 在 main.ts 中, platformBrowserDynamic().bootstrapModule(AppModule))
│ 在一個Angular應用中只能有一個根模組, 並且在 main.ts 中建立
│
├─ app.component.ts
│ (根元件, 在根模組中宣告)
│
└─ app-routing.module.ts
(根路由, 在 app.module 中引入)