什麼是Angular cli?怎麼使用?

2021-11-09 10:00:09
什麼是Angular cli?本篇文章帶大家瞭解一下中的Angular cli,介紹一下Angular cli的使用方法,希望對大家有所幫助!

1. 什麼是Angular cli

它是一個命令列介面工具,可用於初始化、開發、構建和維護 Angular 應用。【相關教學推薦:《》】

2. 如何安裝

無npm先去下載nodejs

https://nodejs.org/en/download/

npm install -g @angular/cli

解除安裝的話也需要帶上-g

npm uninstall -g @angular/cli

3. 如何使用

new|n指n是new的縮寫,效果相同,下同。

3.1 建立專案(new | n)

ng new my-project

它會建立一個angular基礎專案並且下載依賴執行專案,預設埠是4200。

可能需要用到的自定義內容

用法形如:

 ng new my-project --xxx=x

以下不特殊註明預設值均為false

引數意義
`--force=truefalse`
`--routing=truefalse`
`--skipInstall=truefalse`
`--skipTests=truefalse`
`--force=truefalse`
`--style=cssscss
`--packageManager=npmyarn
--prefix=prefix指定選擇器的字首(元件、指令),如傳入--prefix=dep則元件的selector會成為dep-xxx

呀,建立的時候沒有自定義,怎麼補救呢? 直接在angular.json中改~

3.2 新建檔案(generate | g)

新建一個基礎檔案,裡面有預設的程式碼片段。如ng generate service demo,則會在當前資料夾新建一個demo.service.ts

命令作用簡寫
ng generate module xx新建模組ng g m xx
ng generate component xx新建元件ng g c xx
ng generate directive xx新建指令ng g d xx
ng generate service xx新建服務ng g s xx
ng generate pipe xx新建管道ng g p xx

還有個更簡單的方法:

vscode 中下載Angular Files外掛,搜尋alexiv.vscode-angular2-files即可找到。想在哪裡建立點哪裡。用起來爽歪歪。後面會寫一個vscode開發angular好用的外掛~

3.3 執行專案(serve | s)

設定意義
--host=xx設定應用的主機地址,別人可以根據這個地址存取你啟動的應用。xx可以是你的ip或者0.0.0.0
--open=true|falsetrue則在啟動專案後自動開啟頁面,簡寫: ng server -o
--port設定啟動的埠號,避免啟動多個專案佔用同一個埠啟動不起來
--proxyConfig=xx設定代理檔案
--watch=true|false是否在程式碼更改時自動重新構建重新整理頁面,預設true
--aot=true|false是否以預編譯模式啟動專案,預設為false。
缺點:專案執行時間增長。
優點:有時開發時沒問題,打包上線之後出現問題可以在本地開啟它來偵錯錯誤。

3.4 打包專案(build | b

設定意義
--baseHref=xxindex.html存取其他靜態資原始檔的相對路徑。也可以在index.html的<base href="xx">中設定,還可以在.angular.json中的baseHref設定。
--aot=true|false是否以預編譯模式啟動專案, 預設false,一般在angular.json中設定
--optimization=true|false是否啟用構建輸出的優化。
--configuration=xx指定打包環境的設定
--prod=true|false --configuration=production的簡寫。true則以生產環境的方式打包,進行搖樹優化等操作。
--configuration詳解

當我需要打成不同的環境包時,可以使用以下方法:

在angular.json中做了如下設定,:

{
    projects: {
        project-name: {
            architect: {
                build: {
                    configurations: {
                        production: {
                            "fileReplacements": [
                                {
                                  "replace": "src/environments/environment.ts",
                                  "with": "src/environments/environment.prod.ts"
                                }
                            ],
                            ...
                        },
                        qa: {
                             "fileReplacements": [
                                {
                                  "replace": "src/environments/environment.ts",
                                  "with": "src/environments/environment.qa.ts"
                                }
                            ],
                            ...
                        },
                        sit: {
                             "fileReplacements": [
                                {
                                  "replace": "src/environments/environment.ts",
                                  "with": "src/environments/environment.sit.ts"
                                }
                            ],
                            ...
                        }
                    },
                    
                }
            }
        }
    }
}

之後可以進行不同的環境打包:

  • qa: ng build --c=qa
  • sit: ng build --c=sit
  • prod: ng build --c=production

--c 是 --configuration的縮寫

3.5 更新專案(update

angular半年更新一個大版本,及時更新版本是非常重要的事情,如果落後高於1個版本以上,後續可能升級會很麻煩(別問我怎麼知道,再問跳樓)。

從一個主版本升級到另外一個主版本,升級之前最好看下官方的升級指南

ng update @angular/cli@^<major_version>  @angular/core@^<major_version>
  • 先檢視有哪些可以更新
ng update
  • 可以單個更新,也可選擇全部更新
ng update --all
  • 如果更新時提示有的依賴包版本不一致,可以強制更新
Package "@angular/compiler-cli" has an incompatible peer dependency to "typescript" (requires ">=2.7.2 <2.8", would install "2.5.3")
Incompatible peer dependencies found. See above.

強制更新辦法:

ng update --all --force

如何修改update預設下載工具為yarn

ng config --global cli.packageManager yarn
ng set --global packageManager=yarn

3.6 其他

更多用法更新於 github

https://github.com/deepthan/blog-angular

更多程式設計相關知識,請存取:!!

以上就是什麼是Angular cli?怎麼使用?的詳細內容,更多請關注TW511.COM其它相關文章!