新聞中心
原理圖(Schematic)
原理圖是一個基于模板的支持復(fù)雜邏輯的代碼生成器。它是一組通過生成代碼或修改代碼來轉(zhuǎn)換軟件項目的指令。原理圖會打包成集合(collection)并用 npm 安裝。

成都創(chuàng)新互聯(lián)是專業(yè)的牟定網(wǎng)站建設(shè)公司,牟定接單;提供成都網(wǎng)站設(shè)計、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行牟定網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
原理圖的集合可以作為一個強大的工具,以創(chuàng)建、修改和維護任何軟件項目,特別是當要自定義 Angular 項目以滿足你自己組織的特定需求時。比如,你可以借助原理圖來用預(yù)定義的模板或布局生成常用的 UI 模式或特定的組件。也可以用原理圖來強制執(zhí)行架構(gòu)規(guī)則和約定,讓你的項目保持一致性和互操作性。
Angular CLI 中的原理圖
原理圖是 Angular 生態(tài)系統(tǒng)的一部分。Angular CLI 使用原理圖對 Web 應(yīng)用項目進行轉(zhuǎn)換。你可以修改這些原理圖,并定義新的原理圖,比如更新代碼以修復(fù)依賴中的重大變更,或者把新的配置項或框架添加到現(xiàn)有的項目中。
?@schematics/angular? 集合中的原理圖是 ?ng generate? 和 ?ng add? 命令的默認原理圖。此包里包含一些有名字的原理圖,可用于配置 ?ng generate? 子命令的選項,比如 ?ng generate component? 和 ?ng generate service?。?ng generate? 的子命令是相應(yīng)原理圖的簡寫??梢杂瞄L格式來指定要生成的原理圖(或原理圖集合):
ng generate my-schematic-collection:my-schematic-name或者
ng generate my-schematic-name --collection collection-name配置 CLI 的原理圖
與原理圖相關(guān)聯(lián)的 JSON 模式會告訴 Angular CLI 命令和子命令都有哪些選項以及默認值。這些默認值可以通過在命令行中為該選項提供不同的值來進行覆蓋。
CLI 中那些用來生成項目及其部件的默認原理圖,其 JSON 模式收集在 @schematics/angular 包中。該模式描述了 CLI 中每個可用的 ?ng generate? 子命令選項,如 ?--help? 輸出中所示。
編寫庫的原理圖
作為一名庫開發(fā)人員,你可以創(chuàng)建自己的自定義原理圖集合,以便把你的庫與 Angular CLI 集成在一起。
- 添加(Add)原理圖允許開發(fā)人員使用 ?
ng add? 在 Angular 工作區(qū)中安裝你的庫 - 生成(Generation)原理圖可以告訴 ?
ng generate? 子命令如何修改項目、添加配置和腳本,以及為庫中定義的工件提供腳手架 - 更新(Update)原理圖可以告訴 ?
ng update? 命令,如何更新庫的依賴,并在發(fā)布新版本時調(diào)整其中的重大變更
添加(Add)原理圖
庫中通常都會提供一個添加原理圖,以便通過 ?ng add? 把這個庫添加到現(xiàn)有項目中。add 命令會運行包管理器來下載新的依賴,并調(diào)用一個原理圖形式的安裝腳本。
比如,@angular/material 原理圖會要求 ?add ?命令安裝并設(shè)置 Angular Material 及其主題,并注冊可通過 ?ng generate? 創(chuàng)建的新啟動器組件??梢园阉鳛樽约旱?"添加原理圖" 的范例。
合作伙伴和第三方庫也可以通過添加原理圖來支持 Angular CLI。比如,?@ng-bootstrap/schematics? 會把 ng-bootstrap 添加到應(yīng)用中,?@clr/angular? 會安裝并設(shè)置 VMWare 的 Clarity。
"添加原理圖" 還可以通過更改配置、添加額外依賴(比如膩子腳本),或者添加程序包特有的初始化代碼來修改項目。比如,?@angular/pwa? 原理圖會通過添加一個應(yīng)用清單(manifest)和 Service Worker。
生成(Generation)原理圖
生成器原理圖是 ?ng generate? 的操作指令。那些已經(jīng)有文檔的子命令會使用默認的 Angular 生成器原理圖,但你可以在子命令中指定另一個原理圖來生成你的庫中定義的那些工件。
比如,Angular Material 為它定義的一些 UI 組件提供了生成器原理圖。下面的命令會使用其中一個原理圖來渲染一個 Angular Material 的 ?? 組件,它預(yù)先配置了一個用于排序和分頁的數(shù)據(jù)源。
ng generate @angular/material:table 更新原理圖
?ng update? 命令可以用來更新工作區(qū)的庫依賴。如果你沒有提供任何選項或使用了 help 選項,該命令會檢查你的工作區(qū)并建議要更新哪些庫。
ng update
We analyzed your package.json, there are some packages to update:
Name Version Command to update
‐-------------------------------------------------------------------------------
@angular/cdk 7.2.2 -> 7.3.1 ng update @angular/cdk
@angular/cli 7.2.3 -> 7.3.0 ng update @angular/cli
@angular/core 7.2.2 -> 7.2.3 ng update @angular/core
@angular/material 7.2.2 -> 7.3.1 ng update @angular/material
rxjs 6.3.3 -> 6.4.0 ng update rxjs
There might be additional packages that are outdated.
Run "ng update --all" to try to update all at the same time.如果你給這個命令指定一組要更新的庫(或 ?--all? 標志),它就會更新這些庫、這些庫的對等依賴,以及對等依賴的對等依賴。
如果存在不一致(比如,如果在某個簡單的 semver 范圍內(nèi)無法匹配對等依賴),那么該命令會生成一個錯誤,并且不會更改工作區(qū)中的任何內(nèi)容。
我們建議你不要強制更新所有的依賴項,而應(yīng)該首先嘗試更新特定的依賴項。
關(guān)于 ?
ng update? 命令工作原理的更多信息,請參閱“ 更新命令”。
如果你創(chuàng)建的新版本的庫引入了潛在的重大更改,你可以提供一個更新原理圖,讓 ?ng update? 命令能夠自動解決所更新項目中的任何重大修改。
比如,假設(shè)你要更新 Angular Material 庫。
ng update @angular/material該命令會在你的工作區(qū)的 ?package.json? 中更新 ?@angular/material? 及其依賴項 ?@angular/cdk?。如果任何一個包中包含了涵蓋從現(xiàn)有版本到新版本的遷移規(guī)則的更新原理圖,那么該命令就會在你的工作區(qū)中運行這個原理圖。
本文名稱:創(chuàng)新互聯(lián)Angular教程:Angular原理圖概覽
路徑分享:http://www.dlmjj.cn/article/djccdjp.html


咨詢
建站咨詢
