前端性能優(yōu)化(蛋人網(wǎng))

01 前端性能優(yōu)化介紹
02 網(wǎng)頁性能優(yōu)化
03 瀏覽器的加載和渲染機(jī)制
04 如何在Rails的視圖layout中放置JavaScript和CSS
05 Rails中Assets的多域名設(shè)置

01 前端性能優(yōu)化介紹
影響前端優(yōu)化的影響因素:
1、network網(wǎng)絡(luò)

dns:延遲孩灯、穩(wěn)定性、容錯性 #解決方式是更改dns服務(wù)器
cdn:content delivery network  #一般放置圖片使用比較多
ip地址:ip anycast

02 網(wǎng)頁性能優(yōu)化
2松蒜、webpage網(wǎng)頁

減少http request 數(shù)量
減少http request 大小
減少http response 大小
增加web page的加載速度和執(zhí)行速度(渲染時間)
增加assets的下載速度
預(yù)加載數(shù)據(jù)

減少http request 數(shù)量

合并js和css  #合并是雙刃劍,合并文件導(dǎo)致文件變大恋技,但是瀏覽器支持多個文件同時下載
圖片spirit sheet  #把圖片都放在同一個圖片中
過期時間(http response header)

減少http response 大小

ajax
壓縮response, 比如js,css等

減少http request 大小

為asset設(shè)置獨立的域名奸焙;減少header數(shù)據(jù)的傳輸

03 瀏覽器的加載和渲染機(jī)制
瀏覽器的加載和渲染機(jī)制
說明:頁面代碼的前后順序即是代碼的加載順序,一般情況下認(rèn)為頁面首先有樣式哀澈,再有交互,因此把css放在前面度气,js放在后面割按。
html5中有async和defer兩個標(biāo)簽,用來更好處理js代碼

css在頭部:head標(biāo)簽中 #首先被下載
js在頁面底部 #body標(biāo)簽結(jié)束之前磷籍,js會首先被下載适荣,會阻塞其他下載,下載之后會立馬執(zhí)行院领,在執(zhí)行過程中也會阻塞其他下載(阻塞意味著網(wǎng)站不可交互)
避免使用inline js和css #很難做獨立的緩存控制
為靜態(tài)資源設(shè)置獨立域名 #提高連接數(shù)量弛矛,提高加載速度
load lazy #看不到的圖片不要加載,比如瀑布流形式的加載

增加asset的加載速度

減少靜態(tài)資源的大小
壓塑靜態(tài)資源
cdn
過期時間  #設(shè)置過期時間比然,在過期之前獲取緩存中的信息丈氓,提高加載速度

preload預(yù)加載數(shù)據(jù)

04 如何在Rails的視圖layout中放置JavaScript和CSS
參考前面的內(nèi)容說明,css文件放置在head中强法,js文件放置在body標(biāo)簽結(jié)束之前万俗。
這是layouts文件

<!DOCTYPE html>
<html>
  <head>
    <title>JobDemo</title>
   <%= yield :stylesheets %> //放置css內(nèi)容
    #css文件放置在head中
    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= csrf_meta_tags %>
  </head>

  <body>
    <%= yield %>
    #js文件放置在body標(biāo)簽結(jié)束之前
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
    <%= yield :javascripts %> //放置js內(nèi)容
  </body>
</html>

這是待渲染的文件

<%= content_for :stylesheets do %>
  <%= stylesheet_link_tag 'hello', media: 'all' %>
<% end -%>

<div>
  content
</div>

<%= content_for :javascripts do %>
  <%= javascript_include_tag 'video.min'%>
  <script type="text/javascript">
  </script>
<% end -%>

05 Rails中Assets的多域名設(shè)置
對于單個域名的資源,有一個并發(fā)下載的限制饮怯,如果多個域名该编,相當(dāng)于增加了網(wǎng)站的并發(fā)下載數(shù)量。
沒看懂

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末硕淑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嘉赎,更是在濱河造成了極大的恐慌置媳,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件公条,死亡現(xiàn)場離奇詭異拇囊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)靶橱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門寥袭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來路捧,“玉大人,你說我怎么就攤上這事传黄〗苌ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵膘掰,是天一觀的道長章姓。 經(jīng)常有香客問我,道長识埋,這世上最難降的妖魔是什么凡伊? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮窒舟,結(jié)果婚禮上系忙,老公的妹妹穿的比我還像新娘。我一直安慰自己惠豺,他們只是感情好银还,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著耕腾,像睡著了一般见剩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扫俺,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天苍苞,我揣著相機(jī)與錄音,去河邊找鬼狼纬。 笑死羹呵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疗琉。 我是一名探鬼主播冈欢,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盈简!你這毒婦竟也來了凑耻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柠贤,失蹤者是張志新(化名)和其女友劉穎香浩,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臼勉,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡邻吭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了宴霸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囱晴。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡膏蚓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出畸写,到底是詐尸還是另有隱情驮瞧,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布艺糜,位于F島的核電站剧董,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏破停。R本人自食惡果不足惜翅楼,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望真慢。 院中可真熱鬧毅臊,春花似錦、人聲如沸黑界。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朗鸠。三九已至蚯撩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間烛占,已是汗流浹背胎挎。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留忆家,地道東北人犹菇。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像芽卿,于是被迫代替她去往敵國和親揭芍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 性能優(yōu)化方向分類 請求數(shù)量: 合并腳本和樣式表卸例, CSS Sprites称杨, 拆分初始化負(fù)載, 劃分主域(使用“查找...
    Www劉閱讀 1,770評論 3 8
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,151評論 25 707
  • 圍繞前端的性能多如牛毛筷转,涉及到方方面面列另,以我我們將圍繞PC瀏覽器和移動端瀏覽器的優(yōu)化策略進(jìn)行羅列注意,是羅列不是展...
    流動碼文閱讀 677評論 0 0
  • 因公司的需求發(fā)展H5和原生混合開發(fā)旦装,更新了iOS 11之后就發(fā)現(xiàn)如下圖的問題 解決方法是: if(@availab...
    i_MT閱讀 1,039評論 0 1
  • 夜已經(jīng)深了,我在房間里喂奶哄孩子睡摊滔,聽著外面客廳里表哥和爸媽的聊天故意壓低了聲音阴绢。 他來找我父母店乐,也就是他的姨和姨...
    VickyZhen閱讀 456評論 0 1