自動化構(gòu)建工具
包管理工具
模塊打包工具
腳本語言
模塊加載規(guī)范
消息推送技術(shù)
- Comet
- Long polling
- XHR long polling
- Script tag long polling
- Streaming
- Hidden iframe with "Chunked Transfer Encoding"
- XHR onreadystatechange
- Long polling
- Server-Sent Events
- WebSocket
- Flash XMLSocket
前端框架
- Backbone.js(MVC)
- Angular.js(MVVM)
- Ember.js(MVVM)
- Vue.js(MVVM)
- React.js
- Redux
- Bootstrap
Javascript 工具庫
- jQuery
- Underscore.js
- Zepto.js
- lodash
CSS 相關(guān)
- LESS
- SASS
- Bootstrap
- Pure
跨域解決方案
- JSONP
- CORS
-
<iframe>設(shè)置document.domain實現(xiàn)下級域名與上級域名交互 window.postMessage
網(wǎng)頁優(yōu)化
- HTTP/2
- Sprite
- 圖片延遲加載
- 腳本加載優(yōu)化(加載腳本會阻塞渲染)
- Inline script
-
</body>標(biāo)簽底部加載 -
<script async>:缺點是不能實現(xiàn)加載順序依賴 - AMD
- CSS加載優(yōu)化(加載CSS樣式表會阻塞渲染)
- Inline style
- 延遲加載或異步加載
- HTML加載優(yōu)化
- Bigrender:頁面一次加載全部數(shù)據(jù),但先渲染首屏,頁面滾動觸發(fā)渲染后續(xù)內(nèi)容
- Bigpipe:通過"Chunked Transfer Encoding"方式,先返回網(wǎng)頁結(jié)構(gòu),后返回數(shù)據(jù),通過腳本將渲染內(nèi)容
- Lazyrender:頁面一次加載部分?jǐn)?shù)據(jù)進行渲染,頁面滾動后加載后續(xù)的數(shù)據(jù)并渲染
頁面布局
- Flexbox
- Grid Layout