中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

管理Angular項目的技巧有哪些

發布時間:2023-01-06 09:40:37 來源:億速云 閱讀:126 作者:iii 欄目:web開發

這篇文章主要介紹“管理Angular項目的技巧有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“管理Angular項目的技巧有哪些”文章能幫助大家解決問題。

1. 準守單一職責原則

很多單應用程序核心是具有臃腫類的代碼庫。從本質上講,這些臃腫的程序很難維護。從某種意義上講,他們很脆弱,脆弱到更改一行代碼可能對到整個程序產生災難的影響。single responsibility principle 能阻止這些問題。

單一職責原則意味著組件有且僅有一個功能。

使用這種方法構建應用程序會產生一個模塊化框架,其中應用程序是通過這些代碼塊串聯在一塊的。

使用這種方法能夠讓程序更易讀和更好維護。也能夠在應用中很好定位指定的功能。

為了確保你的代碼能夠滿足這種要求,你可以問自己一個問題:這代碼是干什么的?如果自己的回答包含 and 這個關鍵字,那么你需要將你的代碼重構為單一職責的代碼。

構建 Angular 應用程序并對其擴展是一種持續性的練習。在不斷的練習中,使用單一職責原則組織你的項目,將使你的應用程序干凈,可讀和可維護。

2. 綁定代碼到模塊中

Angular 中的 modules 是單一原則的實施。在 Angular 中,每一個模塊代表一個分離的和獨立的功能。

Angular 中提供了幾種類型模塊去指定如何對它們進行邏輯分組或組織。

Core

Core 模塊是一個 NgModule,用來實例化應用并加載全局使用的核心功能。

所以,任何單例服務都應該在核心模塊中實現。頁頭,頁腳或者導航欄都是這種類型的模塊。

每個應用程序有且只有一個實例的所有服務(單例服務)都應該在核心模塊實現。例如鑒權服務或者用戶服務。

Feature

功能模塊代表構建應用程序功能的代碼。比如,在一個線上購物的應用中,我們會有將商品添加到購物車的功能和用于付款的單獨模塊。

Shared

共享模塊由可以被組合以創建新功能的模塊組成。比如,搜索函數在平臺中可以被用于多個功能。

以這種方式構建代碼使事情更加容易定位并增加代碼可重用性的機會。

3. 組織 SCSS 文件

如果不遵循通用結構,樣式文件很快就會變得雜亂無章。一般最佳實踐的模式 7-1 模式,該模式使用 7 個文件夾和 1 個文件,如下所示:

  • App - 項目的主要文件夾

  • Abstract - 抽象部分,包含所有變量、混合和類似的組件

  • Core - 包含整個站點的排版、重置和樣板代碼

  • Components - 包含要為一個網站創建的所有組件的樣式,例如按鈕、選項卡和模式

  • Layout - 包含定義站點布局所需要的文件,例如頁頭和頁腳

  • Pages - 包含每個特定頁面樣式

  • Vendors - 這個可選文件夾適合項目的使用的引導框架,比如 bootstrap

為包含該特定文件夾所有代入的在每個文件夾中新建一個 all.scss 文件。

4. 將私有服務放到組件中

許多服務都被設計全局范圍內運行。然后,在某些情況下,一個組件需要一個服務。傳統的編碼組件實踐推薦單一責任原則。

在這種方法下,服務和組件被編寫為單獨的項目。

但是,考慮下入鍋刪除這些服務的組件會發生什么?你最終得到的是死代碼,只會使得倉庫變得更加混亂。在這種情況下,最佳實踐是將服務放在組件內部。

這樣,維護組件和服務就更加容易了。

5. 簡化導入的 Angular 最佳實踐

嵌套文件結構本質上比將所有代碼文件都放在一個目錄中的平面文件系統更加容易導航。

然而,隨著項目的方法,項目的文件結構可能變得相當復雜。雖然這使得定位代碼變得更加容易,但是當它在編寫導入語句時提出了挑戰。

當一個目錄結構開始超過三個或者四個級別的時候, import 語句就會變得非常長并且難以閱讀。

解決這個問題的,我們可以在 tsconfig.json 文件中配置路徑的別名。在這個文件中,有個名為 compilerOptions 的數組。這個是你在應用程序中配置路徑別名。

當代碼編譯后,在該數組中定義的路徑別名會替換成真實的路徑。每個路徑的值是一個包含實際路徑和別名的鍵值對對象。

構建 Angular 應用程序并對其進行擴展是一項持續的練習。

關于“管理Angular項目的技巧有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔波县| 灵丘县| 榆社县| 三亚市| 洪洞县| 津南区| 临夏县| 周至县| 丰顺县| 丹阳市| 乌鲁木齐县| 榆林市| 黑水县| 河间市| 梁河县| 长岭县| 白朗县| 综艺| 龙岩市| 垫江县| 朝阳区| 五常市| 宁德市| 望城县| 安陆市| 永顺县| 丹江口市| 托里县| 灵台县| 阿荣旗| 和田市| 视频| 佛坪县| 竹溪县| 阳城县| 兰坪| 万山特区| 保靖县| 高尔夫| 儋州市| 本溪|