基於angular7的多頁面後臺管理系統

小紅紅FE發表於2019-04-20

一、簡介

專案介紹

基於angular7的多頁面後臺管理系統

基於angular7的多頁面後臺管理系統

目錄結構

├── README.md                             # 介紹文件
├── _mock                                 # 測試資料
├── angular.json                          # 工作區中所有專案的預設 CLI 配置,包括 CLI 使用的構建選項、執行選項、測試工具選項(比如 TSLint、Karma、Protractor)等
├── node_modules                          # 提供給整個工作區的 npm 包
├── package-lock.json                     # 鎖定安裝時的包的版本號,並且需要上傳到git,以保證其他人在npm install時大家的依賴能保證一致。
├── package.json                          # 配置用於工作區中所有專案的包依賴項
├── proxy.config.json                     # 代理
├── src
│   ├── app
│   │   ├── app.README.md                 # 介紹文件
│   │   ├── app.component.ts              
│   │   ├── app.module.ts                 
│   │   ├── app.route.ts                  # 根路由
│   │   ├── components                    # 元件
│   │   ├── service                       # 服務
│   │   └── share.service.ts              # 單例服務
│   ├── assets                            # 靜態資原始檔
│   │   ├── browser                       # 瀏覽器
│   │   ├── doc                           # 文件
│   │   ├── fonts                         # 字型圖示
│   │   │   ├── ali_iconfont              # 阿里圖示庫
│   │   │   └── antdesign                 # antdesign本地圖示
│   │   ├── image                         # 圖片資源
│   │   ├── plugin                        # 第三方外掛
│   │   │   └── spread
│   │   ├── styles                        # 樣式檔案
│   ├── environments                      # 環境配置
│   │   ├── environment.51.ts             # 其它環境配置
│   │   ├── environment.dev.ts            # 開發環境配置
│   │   └── environment.prod.ts           # 上線環境配置
│   ├── favicon.ico                       # 一個用在書籤欄上的應用圖示
│   ├── fccomponents                      # 平臺元件
│   ├── fccore                            # 核心模組
│   │   ├── business  
│   │   ├── directive                     # 指令
│   │   ├── fccore.module.ts              # 核心模組
│   │   ├── pipe                          # 管道
│   │   └── service                       # 服務
│   │       ├── cache.service.ts          # 快取服務
│   │       ├── common.service.ts         # 公共方法
│   │       ├── dao.service.ts            # httpClient 前後端通訊
│   │       ├── log.service.ts            # 列印服務
│   │       ├── message.service.ts        # 訊息服務
│   │       └── user.service.ts           # 使用者服務
│   ├── feature                           # 業務程式碼
│   ├── index.html                        # 主HTML檔案
│   ├── karma.conf.js
│   ├── main.ts                           # 應用的主入口點,引導應用的根模組 AppModule 來執行在瀏覽器中
│   ├── polyfills.ts                      # 為瀏覽器支援提供膩子指令碼
│   ├── shared                            # 共享模組
│   ├── styles.less                       # 專案的樣式檔案
│   ├── test.ts
│   ├── tsconfig.app.json                 # 繼承自工作區級的 tsconfig.json 檔案
│   ├── tsconfig.spec.json
│   └── tslint.json                       # 繼承自工作區級的 tsconfig.json 檔案
├── tsconfig.json                         # 工作區中所有應用的預設 TypeScript 配置。包括 TypeScript 選項和 Angular 模板編譯器選項。
├── tslint.json                           # 工作區中所有應用的預設 TSLint 配置。
├── .gitignore                            # 指定 Git 要忽略的非跟蹤的檔案。
├── .editorconfig                         # 程式碼編輯器配置
└── tslint程式碼檢查.READE.md                 # 介紹文件
複製程式碼

package.json介紹

{
  "name": "fc-angular",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --proxy-config proxy.config.json --host=0.0.0.0 --open --port=4200",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "aot": "ng build --aot"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~7.2.0",
    "@angular/common": "~7.2.0",
    "@angular/compiler": "~7.2.0",
    "@angular/core": "~7.2.0",
    "@angular/forms": "~7.2.0",
    "@angular/platform-browser": "~7.2.0",
    "@angular/platform-browser-dynamic": "~7.2.0",
    "@angular/router": "~7.2.0",
    "@antv/g2": "^3.5.3",
    "@grapecity/spread-excelio": "^12.0.10",
    "@grapecity/spread-sheets": "^12.0.10",
    "@grapecity/spread-sheets-charts": "^12.0.10",
    "@grapecity/spread-sheets-pdf": "^12.0.10",
    "@grapecity/spread-sheets-print": "^12.0.10",
    "@grapecity/spread-sheets-resources-zh": "^12.0.10",
    "ag-grid-community": "^20.2.0",
    "ag-grid-enterprise": "^20.2.0",
    "core-js": "^2.5.4",
    "hammerjs": "^2.0.8",
    "mockjs": "^1.0.1-beta3",
    "ng-zorro-antd": "^7.2.0",
    "rxjs": "~6.3.3",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.13.0",
    "@angular/cli": "~7.3.1",
    "@angular/compiler-cli": "~7.2.0",
    "@angular/language-service": "~7.2.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^8.9.5",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.1.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "less": "^2.7.3",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.2.2"
  }
}
複製程式碼

二、安裝專案

  • git node npm vscode 配置好多前提下,克隆程式碼,命令如下:
git clone https://github.com/luohong123/fc-angular.git
npm install
npm start
複製程式碼

三、開發程式碼

1. 程式碼規範

  • 請按照angular官網提出的 風格指南 開發程式碼

【風格指南】angular.cn/guide/style…

2. 前後端通訊

3. 介面測試

  • 推薦使用postman工具

基於angular7的多頁面後臺管理系統

4. 路由複用策略程式碼預覽

基於angular7的多頁面後臺管理系統

5. 懶載入路由

基於angular7的多頁面後臺管理系統

四、程式碼質量檢查

【程式碼規範】

  1. 每一個檔案,如html、css、ts的header都要有作者的名字、描述、作者郵箱、時間、修改時間、修改者等。
  2. 檔案命名規範
  3. ts中一個變數一行註釋,每一個方法都要有註釋
  4. 按照angular官網提供的【風格指南】連結 寫程式碼

【tslint程式碼檢查】

【vscode安裝外掛】

  • 在vscode中安裝tslint,自動檢查程式碼是否規範,如圖:

    基於angular7的多頁面後臺管理系統

  • 在vscode中安裝koroFileHeader,如圖:

    基於angular7的多頁面後臺管理系統

  • 在vscode中安裝程式碼自動美化工具,如圖:

    基於angular7的多頁面後臺管理系統

  • angular版本的antDesign程式碼自動提示工具

    基於angular7的多頁面後臺管理系統

  • 在vscode中安裝Open-In-Browser

  • 在vscode中安裝 CSS Peek

  • 在vscode中安裝 Color Info

  • 在vscode中安裝快捷鍵外掛 IntelliJ IDEA Keybindings

【通過aot打包檢查程式碼是否規範】

ng build --aot
複製程式碼

五、aot打包部署

  • 通過 ng build --aot 命令生成dist 檔案

六、學習幫助

七、謝謝大家

感謝大家抽時間閱讀我的文章,歡迎指出不對的地方,謝謝!

相關文章