国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

簡單談談關于Angular Cli打包的事

2024-05-06 15:11:49
字體:
來源:轉載
供稿:網友

本文主要給大家介紹了關于Angular Cli打包的事,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

一、引言

Angular從開發再到生產環境部署都離不開Angular Cli工具集,而Angular Cli本質上是使用 Webpack(當前使用版本為2) 來打包資源。

Webpack 本身并不復雜,略用過一點都清楚,只需要創建一個 webpack.config.js 的文件并簡單的配置,就可以把一個復雜的應用所有文件全部打包成若干靜態資源文件。

然而一個復雜的應用免不了使用到第三方類庫,當這些外部類庫與自身業務腳本聯系在一起時,就產生一個大家都關心的問題:性能優化。

Angular Cli在構建一個含有路由、表單、HTTP等基本的Angular應用大約在150KB左右,就Angular體量而言,自己寫一個 Webpack 也很難能優化到這個大小。所以說,Angular Cli是很有良心的作品。然而極大的簡化對 Webpack 的使用,何樂不為呢?

本文我將介紹Angular Cli的一些配置在生產環境中所產生的效果,希望能讓大家由于一些不合理的行為可能會導致文件體量的上升在改善這一問題時有所幫助。

二、.angular-cli.json 配置

Angular Cli 的配置文件是根目錄下的 .angular-cli.json,而會影響文件體量的只有 styles、scripts 兩個節點。

1、scripts

scripts 節點最后會生成一個獨立的 scripts.bundle.js 文件,一般我們會把一些外部非Angular組件的類庫放置在這里,比如:jQuery。

"scripts": [ "../node_modules/jquery/dist/jquery.js", "../test.ts"]

scripts 節點還允許 *.ts 文件。

2、styles

styles 節點最后會生成一個獨立的 styles.bundle.css 文件。除此之外,組件內(styles 或 styleUrls)的樣式會全部打包進 .js 文件中。

正如 jQuery 一樣,如果我們需要引用第三方UI庫,比如:bootstrap 那么:

"styles": [ "../node_modules/bootstrap/scss/bootstrap.scss", "styles.scss"]

默認情況引用的是 ./src/styles.scss,你可以繼續導入外部其它外部樣式文件。

@import "variables";@import "nav";@import "layout";

組件類樣式

Angular組件內使用 styles 或 styleUrls 的樣式會全部打包進相應模塊的 .js 文件中;并且樣式生成存儲的方式是無法改變的。

encapsulation

順帶提一下。既然是Angular組件,如果說此時還需要外部的樣式這顯得有點框住組件獨立性的特點,然而組件樣式是否污染其它組件呢?我們通過指定 encapsulation 樣式封裝方式來改變這一些行為,它包括三個值:

ViewEncapsulation.Emulated 默認,采用額外添加一些 _ngcontent 屬性來限定樣式隔離 ViewEncapsulation.Native
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敦化市| 阿克苏市| 黄浦区| 长治县| 连南| 祁门县| 铁岭市| 巢湖市| 虞城县| 五河县| 温州市| 枣阳市| 廉江市| 高邮市| 上犹县| 铜鼓县| 庄浪县| 尚志市| 贵港市| 平陆县| 化州市| 乃东县| 兰州市| 西吉县| 永和县| 和龙市| 永修县| 怀化市| 石景山区| 长丰县| 周至县| 宝丰县| 景洪市| 屏山县| 鄂托克前旗| 新沂市| 嵊州市| 屯留县| 昌江| 开平市| 潜山县|