相關配套網站:[前端知識庫,https://www.html5iq.com](https://www.html5iq.com/index.html)
**前言:**
* * * * *
一次購買本文檔,文檔所有部分(vue、http、js等)均可以觀看,無時間限制,文檔長期更新!
本文檔也不僅僅限于vue前端面試使用,而是以vue實際開發遇到的問題為出發點,帶你關注 vue開發 過程中需要注意的一個個知識點。也希望可以幫助您解決vue實際開發過程中的問題。
>掃碼加微信群,領取更多福利!

* * * * *
本小節主要介紹 vue-cli工程 所依賴的 node.js 環境和安裝步驟。
>[info] Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境。
Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。
Node.js 的包管理器 npm,是全球最大的開源庫生態系統。
**下面介紹 Node.js 環境的安裝:**
1、首先需要在 node.js 官網 :[node.js下載](http://nodejs.cn/download/)下載對應的 Node 環境安裝包。

2、然后打開安裝包,一直點擊 next

3、測試安裝成功
打開 cmd 命令行,命令行輸入:
```
node -v
```
出現版本號,說明 node 環境安裝成功。
命令行輸入:
```
npm -v
```
出現版本號,說明可以使用 node 的包管理器 npm,下載資源包。
- 閱讀說明
- vue試題(已完成)
- 一、vue-cli依賴的 Node.js 環境安裝
- 二、vue-cli 工程技術集合介紹
- 三、vue-cli 工程目錄結構介紹
- 四、vue.js 核心知識點高頻試題一
- 4.1 對于Vue是一套漸進式框架的理解
- 4.2 請說出vue幾種常用的指令
- 4.3 請問 v-if 和 v-show 有什么區別?
- 4.4 vue常用的修飾符
- 4.5 v-on可以監聽多個方法嗎?
- 4.6 vue中 key 值的作用
- 4.7 vue-cli工程升級vue版本
- 4.8 vue事件中如何使用event對象?
- 4.9 $nextTick的使用
- 4.10 Vue 組件中 data 為什么必須是函數
- 4.11 v-for 與 v-if 的優先級
- 五、vue.js 核心知識點高頻試題二
- 5.1 vue中子組件調用父組件的方法
- 5.2 vue中 keep-alive 組件的作用
- 5.3 vue中編寫可復用的組件
- 5.4 vue生命周期有關的試題
- 5.5 vue如何監聽鍵盤事件中的按鍵?
- 5.6 vue更新數組時觸發視圖更新的方法
- 5.7 vue中對于對象的更改檢測
- 5.8 解決非工程化項目初始化頁面閃動問題
- 5.9 v-for產生的列表,實現active的切換
- 5.10 v-model語法糖的使用
- 六、vue.js 核心知識點高頻試題三
- 6.1 十個常用的自定義過濾器
- 6.2 vue等單頁面應用及其優缺點
- 6.3 vue的計算屬性
- 6.4 vue提供的幾種腳手架模板
- 6.5 vue父組件向子組件通過props傳遞數據
- 6.6 vue-cli開發環境使用全局常量
- 6.7 vue-cli生產環境使用全局常量
- 6.8 vue彈窗后如何禁止滾動條滾動?
- 6.9 計算屬性的緩存和方法調用的區別
- 6.10 vue-cli中自定義指令的使用
- 6.11 父組件異步獲取動態數據傳遞給子組件
- 七、vue-router 路由高頻考題
- 7.1 vue-router響應 路由參數 的變化
- 7.2 完整的 vue-router 導航解析流程
- 7.3 vue-router有哪幾種導航鉤子( 導航守衛 )?
- 7.4 vue-router的幾種實例方法以及參數傳遞
- 7.5 vue-router的動態路由匹配以及使用
- 7.6 vue-router如何定義嵌套路由?
- 7.7 router-link組件及其屬性
- 7.8 vue-router實現路由懶加載( 動態加載路由 )
- 7.9 vue-router路由的兩種模式
- 八、vuex 狀態管理高頻試題
- 8.1 什么是vuex?
- 8.2 使用vuex的核心概念
- 8.3 vuex在vue-cli中的應用
- 8.4 如何在組件中去使用vuex的值和方法?
- 8.5 在vuex中使用異步修改
- 九、axios、fetch、ajax等請求高頻試題
- 9.1 Promise對象是什么?
- 9.2 axios、fetch與ajax有什么區別?
- 9.3 JS的同源策略和跨域問題
- 9.4 如何解決跨域問題?
- 9.5 vue-cli中使用JSON數據模擬
- 9.6 axios有哪些特點?
- 十、前端 UI 樣式高頻試題
- 10.1 組件樣式屬性 scoped 問題及解決方法
- 10.2 vue常用的UI組件庫
- 10.3 vue組件適配移動端【經典】
- 10.4 移動端適配常用媒體查詢源碼
- 10.5 垂直居中對齊
- 10.6 vue-cli中如何使用背景圖片?
- 10.7 使用表單禁用時移動端樣式問題
- 10.8 多種類型文本超出隱藏問題
- 10.11 vue-cli工程引入全局less變量
- 十一、vue中常用功能實現與詳解
- 11.1 vue中如何實現tab切換功能?
- 11.2 利用<keep-alive></keep-alive>標簽實現某個組件緩存功能
- 11. 3 vue中實現切換頁面時為左滑出效果
- 11.4 vue無痕刷新
- 11.5 多種情景的數組去重
- 11.6 vue保留滾動條位置
- 11.7 vue組件中使用定時器
- 11.8 組件slot使用示例
- 11.9 使用遞歸組件實現級聯選擇器
- 11.10 使用遞歸組件實現樹形控件
- 11.11 幾種常見的自定義指令詳解
- 11.11.1 實現一個表單自動聚焦的自定義指令
- 11.11.2 實現一個可從外部關閉的下拉菜單
- 11.11.3 實現一個實時時間轉換指令v-time
- 11.12 兩種類型的循環單選選擇、取消功能
- 十二、vue各種情況的組件間通信
- 12.1 關于vue組件間通信問題的回答
- 12.2 萬金油:vue中央事件總線的使用
- 12.3 props:最基礎的父子組件間傳遞數據
- 12.4 v-model語法糖:子組件向父組件傳遞數據
- 12.5 .sync 修飾符:進行父子組件間相互傳遞數據
- 12.6 $attrs屬性:父孫組件間傳遞數據
- 12.7 $on屬性:子組件調用父組件方法
- 12.8 $listeners屬性:孫組件調用父組件的方法
- 12.9 $refs屬性:
- 12.10 $parent屬性:
- 12.11 $children屬性:
- 十三、混合開發:vue工程與app交互
- 十四、vue開發命令的執行過程【拓展】
- 十五、vue-cli工程打包后.js文件詳解
- 15.1 vue打包命令是什么?
- 15.2 vue打包后會生成哪些文件?
- 15.3 配置 vue 打包生成文件的路徑
- 15.4 vue如何優化首屏加載速度?
- 十六、MVVM設計模式高頻試題
- 16.1 MVC、MVP與MVVM模式
- 16.2 MVC、MVP與MVVM的區別
- 16.3 常見的實現MVVM幾種方式
- 16.4 Object.defineProperty()方法
- 十七、實現一個自己的MVVM
- 17.1 準備知識
- 17.1.1 ES6中類和定義
- 17.1.2 JS中的文檔碎片
- 17.1.3 解構賦值
- 17.1.4 Array.from與Array.reduce
- 17.1.5 遞歸的使用
- 17.1.6 Obj.keys()與Obj.defineProperty
- 17.1.7 發布-訂閱模式
- 17.2 效果示例
- 17.3 思路分析
- 17.4 項目地址
- 十八、vue-cli中的配置詳解
- 18.1 webpack的特點
- 十九、源碼剖析
- 19.1 剖析 Vue 內部運行機制
- 19.1.1 Vue.js 全局運行機制
- 19.1.2 響應式系統的基本原理
- 19.1.3 響應式系統的依賴收集追蹤原理
- 19.1.4 實現 Virtual DOM 下的一個 VNode 節點
- 19.1.5 template 模板是怎樣通過 Compile 編譯的
- 19.1.6 數據狀態更新時的差異 diff 及 patch 機制
- 19.1.7 批量異步更新策略及 nextTick 原理
- 19.1.8 proxy代理過程
- 19.2 剖析 vue-router 內部運行機制
- 19.2.1 重要函數思維圖解
- 19.3 剖析 vuex 內部運行機制
- 19.3.1 準備知識
- 1. Vue.mixin
- 2. Vue.use
- 19.3.2 插件安裝
- 19.3.3 Store
- 19.3.4 使用源碼
- 19.4 剖析 axios 內部運行機制
- 二十、發布一個 npm 資源包
- 二十一、vue的服務器端渲染
- 二十二:資料分享
- html試題(整理中)
- 1. 請寫出 HTML5 的doctype
- 2. 請你談談你對web標準以及w3c的理解與認識。
- 3. HTML5有哪些新特性?
- 4. 移動端meta標簽
- 5. HTML5標簽的語義化
- Css試題(整理中)
- 1. css盒子模型
- 一、選擇器
- 2. css常用的選擇器有哪些?
- 3. CSS3新增偽類有那些?
- 二、結構和層疊
- 4. css優先級計算規則
- 三、值和單位
- 5. em、ex、px與rem
- 四、字體
- 6. 使用自定義字體
- 五、文本屬性
- 7. 多行省略
- 8. CSS有哪些繼承屬性
- 六、基本視覺格式化
- 9. 去掉inline-block元素間隙
- 6.2 垂直居中布局
- 6.3 box-sizing屬性
- 6.4 CSS中visibility屬性的collapse屬性值
- 6.5 display:none與visibility:hidden的區別?
- 七、內外邊距和邊框
- 八、顏色和背景
- 8.1 rgba和opacity的透明有何不同?
- 九、浮動和定位
- 9.1 居中對齊
- 9.2 position的值
- 9.3 如何清除浮動
- 十、過渡與動畫
- 十一、less與sass
- 11.1 less和sass的特點和區別
- 十二、彈性盒布局
- 12.1 請解釋一下CSS3的flexbox(彈性盒布局模型),以及適用場景?
- 13. 用純CSS創建一個三角形
- 14. 對BFC規范(塊級格式化上下文:block formatting context)的理解
- 十五、 移動端布局
- 15.1 媒體查詢
- 15.2 圣杯布局
- 15.3 雙飛翼布局
- 15.4 實現中間自適應寬度,左右兩欄固定寬度布局
- 16. CSS優化與性能提高
- 17. 瀏覽器解析CSS選擇器
- 18. css實現全屏滾動
- 十九、響應式設計
- 20. 怎么讓瀏覽器支持小于12px 的文字?
- 21. 圖片格式的選擇
- 22. link和@import的區別
- 23. 重排和重繪
- 24. css3有哪些新特效?
- 25. 用css創建一個三角形
- JavaScript語言核心試題(已完成)
- 1. 原始類型有哪幾種?null 是對象嘛?
- 2. 對象(Object)類型
- 3. typeof vs instanceof
- 4. 類型轉換
- 5. this
- 6. == vs ===
- 7. 閉包
- 8. 深淺拷貝
- 9. 原型
- 10. JS 異步編程及常考面試題
- 10.1 并發(concurrency)和并行(parallelism)區別
- 10.2 回調函數(Callback)
- 10.3 Generator
- 10.4 Promise
- 10.5 async 及 await
- 10.6 常用定時器函數
- 11. Event Loop(事件循環)
- 11.1 進程與線程
- 11.2 執行棧
- 11.3 瀏覽器中的 Event Loop
- 11.4 Node 中的 Event Loop
- 12. new
- 13. instanceof 的原理
- 14. 0.1 + 0.2 != 0.3
- 一、詞法結構
- 1.1 ajax請求webservice接口及Unicode轉義
- 1.2 javascript中的保留字
- 二、類型、值和變量
- 2.1 javascript中的數據類型有哪些?
- 2.2 Javascript中所支持的數字函數
- 2.3 二進制浮點數和四舍五入錯誤
- 2.4 日期計算函數
- 2.5 字符串常用的方法
- 2.6 布爾值的轉化
- 2.7 null和undefined
- 2.8 比較兩個數組
- 2.9 JavaScript類型轉換
- 2.10 變量聲明
- 2.11 變量作用域
- 2.11.1 變量作用域優先級
- 2.11.2 函數作用域和聲明提前
- 2.11.3 作用域鏈
- 三、表達式和運算符
- 3.1 JavaScript運算符
- 3.2 運算符優先級
- 3.3 == 和 ===
- 3.4 in運算符
- 3.5 instanceof運算符
- 3.6 eval()
- 3.7 三元運算符
- 3.8 typeof運算符
- 3.9 delete運算符
- 四、語句
- 4.1 枚舉對象的屬性和屬性值
- 4.2 跳轉語句
- 4.2.1 break與contiinue
- 4.2.2 return語句
- 4.2.3 throw語句
- 4.2.4 try/catch/finally語句
- 4.3 with、debugger和use strict
- 4.4 for循環
- 五、對象
- 5.1 對象基礎
- 5.2 對象直接量與new創建對象
- 5.3 原型與原型鏈
- 5.4 Object.create()
- 5.5 屬性的查詢和設置
- 5.6 刪除屬性
- 5.7 檢測屬性
- 5.8 枚舉屬性
- 5.9 屬性getter和setter
- 5.9.1 存取器屬性實例一
- 5.9.2 存取器屬性實例二
- 5.9.3 存取器屬性實例三
- 5.10 屬性的特性
- 5.10.1 如何實現屬性特性的查詢和設置操作
- 5.10.2 修改不允許創建后修改的屬性
- 5.10.3 復制屬性的特性
- 5.11 對象的三個屬性
- 5.11.1 原型屬性
- 5.11.2 類屬性
- 5.11.3 可擴展性
- 5.12 序列化對象
- 5.13 對象方法
- 六、數組
- 6.1 JS數組基礎
- 6.2 創建數組
- 6.3 數組元素的讀和寫
- 6.4 稀疏數組
- 6.5 數組長度
- 6.6 數組元素的添加和刪除
- 6.7 數組遍歷
- 6.8 多維數組
- 6.9 數組方法
- 6.10 數組類型
- 6.11 類數組對象
- 6.12 作為數組的字符串
- 七、函數
- 7.1 函數定義
- 7.2 函數調用
- 7.2.1 函數調用
- 7.2.2 方法調用
- 7.2.3 構造函數調用
- 7.2.4 間接調用
- 7.3 函數的實參和形參
- 7.3.1 可選形參
- 7.3.2 可變長的實參列表:實參對象
- 7.3.3 將對象的屬性用做實參
- 7.3.4 實參類型
- 7.4 作為值的函數
- 7.5 作為命名空間的函數
- 7.6 閉包
- 7.7 函數的屬性、方法和構造函數
- 7.7.1 length屬性
- 7.7.2 prototype 屬性
- 7.7.3 call()方法和apply()方法
- 7.7.4 bind()方法
- 7.7.5 toString()方法
- 7.7.6 Function()構造函數
- 7.7.7 可調用的對象
- 7.8 函數式編程
- 7.8.1 使用函數處理數組
- 7.8.2 高階函數
- 7.8.3 不完全函數
- 7.8.4 記憶
- 八、類和模板
- 8.1 類和原型
- 8.2 類和構造函數
- 8.2.1 構造函數和類的標識
- 8.2.2 constructor 屬性
- 8.3 JS中Java式的類繼承
- 8.4 類的擴充
- 8.5 類和類型
- 8.5.1 instanceof 運算符
- 8.5.2 constructor屬性
- 8.5.3 構造函數的名稱
- 8.5.4 鴨式辯型
- 8.6 JS中的面向對象
- 8.6.1 集合類
- 8.6.2 枚舉類型
- 8.6.3 標準轉換方法
- 8.6.4 比較方法
- 8.6.5 方法借用
- 8.6.6 私有狀態
- 8.6.7 構造函數的重載和工廠方法
- 8.7 子類
- 8.7.1 定義子類
- 8.7.2 構造函數和方法鏈
- 8.7.3 組合 VS 子類
- 8.7.4 類的層次結構和抽象類
- 8.8 ES5中的類
- 8.8.1 讓屬性不可枚舉
- 8.8.2 定義不可變的類
- 8.8.3 封裝對象狀態
- 8.8.4 防止類的擴展
- 8.8.5 子類和ES5
- 8.8.6 屬性描述符
- 8.9 模塊
- 8.9.1 用做命名空間的對象
- 8.9.2 作為私有命名空間的函數
- 九、正則表達式
- 9.1 正則表達式的定義
- 9.1.1 直接量字符
- 9.1.2 字符類
- 9.1.3 重復
- 9.1.4 選擇、分組和引用
- 9.1.5 指定匹配位置
- 9.1.6 修飾符
- 9.2 用于模式匹配的String方法
- 9.3 RegExp對象
- 9.3.1 RegExp的屬性
- 9.3.2 RegExp的方法
- 十、JavaScript的子集和擴展
- 10.1 JS的子集
- 10.1.1 精華
- 10.1.2 子集的安全性
- 10.2 常量和局部變量
- 10.3 解構賦值
- 10.4 迭代
- 10.4.1 for/each循環
- 10.4.2 迭代器
- 10.4.3 生成器
- 10.4.4 數組推導
- 10.4.5 生成器表達式
- 10.5 函數簡寫
- 10.6 多catch從句
- 客戶端JavaScript試題(整理中)
- 一、web瀏覽器中的JavaScript
- 1.1 URL中的JavaScript
- 1.2 同步、異步和延遲的腳本
- 1.3 JS程序執行的時間線
- 1.4 同源策略
- 二、window對象
- 2.1 計時器
- 2.2 解析URL
- 2.3 Nabigator對象
- 2.4 window對象方法
- 三、腳本化文檔 DOM
- 3.1 文檔對象模型
- 3.2 選擇文檔元素的方法
- 3.3 文檔遍歷函數
- 3.4 數據集采集
- 3.5 元素的內容
- 3.6 創建、插入和刪除節點
- 3.7 文檔和元素的幾何形狀和滾動
- 3.7.1 文檔坐標和視口坐標
- 3.7.2 查詢元素的幾何尺寸
- 3.7.3 滾動
- 3.8 其他文檔特性
- 四、事件處理
- 五、腳本化HTTP
- 5.1 ajax
- 5.2 XMLHttpRequest對象
- 5.2.1 指定請求
- 5.2.2 取得響應
- 5.2.3 編碼請求主體
- 5.2.4 HTTP進度事件
- 5.2.5 中止請求和超時
- 5.2.6 跨域HTTP請求
- 5.3 借助<script>發送HTTP請求:JSONP
- 5.4 基于服務器端推送事件端Comet技術
- 六、客戶端存儲
- 6.1 客戶端存儲的幾種形式
- 6.2 localStorage和sessionStorage
- 6.3 cookie
- 6.4 應用程序存儲和離線web應用
- 七、多媒體和圖形編程
- 7.1 腳本化圖片
- 7.2 腳本化音頻和視頻
- 7.3 SVG:可伸縮的矢量圖行
- 7.4 Canvas
- 八、HTML5 API
- 8.1 地理位置
- 8.2 歷史記錄管理
- 8.3 跨域消息傳遞
- 8.4 Web Worker
- 8.5 類型化數組和ArrayBuffer
- 8.6 Blob
- 8.7 文件系統API
- 8.8 客戶端數據庫
- 8.9 webSocket協議
- JavaScript重點概念試題(整理中)
- 一、類型和語法
- 二、作用域和閉包
- 三、this和對象原型
- 四、異步和性能
- JavaScript真題(整理中)
- Jquery試題(整理中)
- ECMAScript試題(整理中)
- 1. var、let 及 const 區別
- 2. 原型繼承和 Class 繼承
- 3. 模塊化
- 4. Proxy
- 5. map, filter, reduce
- 一、塊級作用域綁定
- 1.1 var聲明和變量提升(Hosting)機制
- 1.2 塊級聲明:let聲明
- 1.3 塊級聲明:禁止重聲明
- 1.4 塊級聲明:const聲明
- 1.5 塊級聲明:臨時死區
- 1.6 循環中的塊級作用域及立即調用函數表達式解決方案
- 1.7 循環中的let
- 1.8 循環中的const
- 1.9 全局塊作用域綁定
- 二、字符串
- 2.1 UTF-16碼位
- 2.2 新增方法 codePointAt()
- 2.3 新增方法 fromCodePoint()
- 2.4 新增方法 normalize()
- 2.5 新增解析字符串方法 includes()
- 2.6 新增解析字符串方法 startsWith()
- 2.7 新增解析字符串方法 endsWith()
- 2.8 新增方法 repeat()
- 2.9 模板字面量
- 2.9.1 什么是模板字面量
- 2.9.2 基礎語法
- 2.9.3 多行字符串
- 2.9.4 字符串占位符
- 2.9.5 標簽模板
- 三、函數
- 3.1 函數形參的默認值
- 3.1.1 ES5中模擬默認參數
- 3.1.2 ES6中的默認參數值
- 3.1.3 ES5中的 arguments 對象
- 3.1.4 默認參數值對 arguments 對象的影響
- 3.1.5 默認參數表達式
- 3.1.6 默認參數的臨時死區
- 3.2 處理無名參數
- 3.2.1 ES5中的無命名參數
- 3.2.2 不定參數
- 3.3 增強的 FUNCTION 構造函數
- 3.4 展開運算符
- 3.5 name屬性
- 3.5.1 什么是name屬性
- 3.5.2 name屬性的特殊情況
- 3.6 明確函數的多重用途
- 3.6.1 什么是函數的多重用途
- 3.6.2 在ES5中判斷函數被調用的方法
- 3.6.3 元屬性 new.target
- 3.7 塊級函數
- 3.7.1 ES6中的塊級函數
- 3.7.2 塊級函數的使用場景
- 3.7.3 非嚴格模式下的塊級函數
- 3.8 箭頭函數
- 3.8.1 箭頭函數與傳統 JS 函數的不同
- 3.8.2 箭頭函數的語法
- 3.8.3 創建立即執行函數表達式
- 3.8.4 箭頭函數沒有 this 綁定
- 3.8.5 箭頭函數和數組
- 3.8.6 箭頭函數沒有 arguments 綁定
- 3.8.7 箭頭函數的辨識方法
- 3.9 尾調用優化
- 3.9.1 什么是尾調用
- 3.9.2 ES6中尾調用的優化
- 3.9.3 如何利用尾調用的優化
- 四、對象
- 4.1 對象的類別
- 4.2 對象字面量語法擴展
- 4.2.1 屬性初始值的簡寫
- 4.2.2 對象方法的簡寫
- 4.2.3 可計算屬性名
- 4.3 新增方法
- 4.3.1 Object.is()
- 4.3.2 Object.assign()
- 4.4 重復的對象字面量屬性
- 4.5 自有屬性枚舉順序
- 4.6 增強對象原型
- 4.6.1 改變對象的原型
- 4.6.2 簡化原型訪問的Super引用
- 4.7 正式的方法定義
- 五、解構:使數據訪問更便捷
- 5.1 對象解構
- 5.1.1 解構賦值
- 5.1.2 默認值
- 5.1.3 為非同名局部變量賦值
- 5.1.4 嵌套對象解構
- 5.2 數組解構
- 5.2.1 解構賦值
- 5.2.2 默認值
- 5.2.3 嵌套數組解構
- 5.2.4 不定元素
- 5.3 混合解構
- 5.4 解構參數
- 5.4.1 必須傳值的解構參數
- 5.4.2 解構參數的默認值
- 六、Symbol 和 Symbol 屬性
- 6.1 什么是 Symbol
- 6.2 創建 Symbol
- 6.3 Symbol的使用方法
- 6.4 Symbol共享體系
- 6.5 Symbol與類型強制轉換
- 6.6 Symbol屬性檢索
- 6.6 通過well-known Symbol暴露內部操作
- 6.6.1 Symbol.hasInstance方法
- 6.6.2 Symbol.isConcatSpreadable屬性
- 6.6.3 Symbol.match、Symbol.replace、Symbol.search和Symbol.split屬性
- 6.6.4 Symbol.toPrimitive方法
- 6.6.5 Symbol.toStringTag屬性
- 6.6.6 Symbol.unscopables屬性
- 七、Set 集合 與 Map 集合
- 7.1 ES5中的 Set 集合與 Map 集合
- 7.2 ES6中的 Set 集合
- 7.2.1 創建 Set 集合并添加元素
- 7.2.2 移除元素
- 7.2.3 Set集合的 forEach()方法
- 7.2.4 將 Set 集合轉換為數組
- 7.2.5 Weak Set集合
- 7.3 ES6中的 Map 集合
- 7.3.1 ES6中的 Map 集合
- 7.3.2 Map 集合支持的方法
- 7.3.3 Map 集合的初始化方法
- 7.3.4 Map 集合的 forEach 方法
- 7.3.5 Weak Map 集合
- Http協議試題(已完成)
- 說明
- 重點:輸入 URL 到頁面渲染的整個流程
- 一、網絡基礎
- 1.1 TCP/IP協議族
- 1.1.1 什么是TCP/IP協議族
- 1.1.2 TCP/IP協議族按層次劃分了哪幾次?
- 1.1.3 HTTP請求時,TCP/IP通信傳輸流
- 1.2 網絡層:IP協議
- 1.3 傳輸層:TCP協議、UDP協議
- 1.3.1 TCP協議位于哪一層
- 1.3.2 TCP頭部有哪些重要字段?
- 1.3.3 TCP協議的三次握手
- 1.3.4 為什么 TCP 建立連接需要三次握手?
- 1.3.5 UDP 與 TCP 的區別是什么?
- 1.3.6 ARQ協議
- 1.3.7 滑動窗口協議
- 1.3.8 擁塞處理
- 1.4 應用層:DNS服務
- 1.5 URL和URI
- 1.5.1 URI
- 1.5.2 絕對URI的格式
- 1.6 RFC
- 二、Http協議
- 2.1 HTTP請求報文組成
- 2.2 HTTP協議的狀態
- 2.3 告知服務器意圖的HTTP方法
- 2.4 TCP的持久連接
- 2.5 使用Cookie的狀態管理
- 三、HTTP報文內的HTTP信息
- 3.1 HTTP報文類型和結構
- 四、HTTP狀態碼
- 五、與HTTP協作的 Web 服務器
- 5.1 通信數據轉發程序:代理
- 5.2 通信數據轉發程序:網關
- 5.3 通信數據轉發程序:隧道
- 六、HTTP首部
- 6.1 HTTP首部字段類型
- 6.2 通用首部字段
- 6.3 請求首部字段
- 6.4 響應首部字段
- 6.5 實體首部字段
- 6.6 非HTTP/1.1 首部字段
- 6.7 為Cookie服務的首部字段
- 6.8 其他首部字段
- 七、HTTPS
- 7.1 HTTP的缺點
- 7.2 HTTP與HTTPS
- 7.3 HTTPS的加密方式
- 7.4 HTTPS的通信步驟
- 7.5 HTTPS的缺點
- 八、基于HTTP的功能追加協議
- 8.1 SPDY協議
- 8.2 webSocket協議
- 8.3 HTTP/2.0
- Webpack(已完成)
- 1. 減少 Webpack 打包時間
- 2. 減少 Webpack 打包后的文件體積
- 一、Webpack基礎介紹
- 1.1 模塊化
- 1.2 構建的作用及常見功能
- 1.3 常見的構建工具及其優缺點
- 1.4 webpack
- 1.5 Loader
- 1.6 Plugin
- 1.7 DevServer
- 1.8 webpack的核心概念
- 二、Webpack配置
- 2.1 Entry
- 2.2 Output
- 2.2.1 filename配置
- 2.2.2 chunkFilename配置
- 2.2.3 path配置
- 2.2.4 publicPath配置
- 2.2.5 crossOriginLoading配置
- 2.2.6 libraryTarget 和 library配置
- 2.2.7 var (默認)配置
- 2.2.8 commonjs配置
- 2.2.9 commonjs2配置
- 2.2.10 this配置
- 2.2.11 window配置
- 2.2.12 global配置
- 2.2.13 libraryExport配置
- 2.3 Module
- 2.3.1 Loader配置
- 2.3.2 noParse配置
- 2.3.3 parser配置
- 2.4 Resolve
- 2.4.1 alias配置
- 2.4.2 mainFields配置
- 2.4.3 extensions配置
- 2.4.4 modules配置
- 2.4.5 descriptionFiles配置
- 2.4.6 enforceExtension配置
- 2.4.7 enforceModuleExtension配置
- 2.5 Plugin
- 2.6 DevServer
- 2.6.1 hot配置
- 2.6.2 inline配置
- 2.6.3 historyApiFallback配置
- 2.6.4 contentBase配置
- 2.6.5 headers配置
- 2.6.6 host配置
- 2.6.7 port配置
- 2.6.8 allowedHosts配置
- 2.6.9 disableHostCheck配置
- 2.6.10 https配置
- 2.6.11 clientLogLevel配置
- 2.6.12 compress配置
- 2.6.13 open配置
- 2.7 其他配置
- 2.7.1 Target配置
- 2.7.2 Devtool配置
- 2.7.3 Watch 和 WatchOptions
- 2.7.4 Externals配置
- 2.7.5 ResolveLoader配置
- 2.8 如何整體配置結構
- 2.9 判斷如何配置 Webpack
- 三、Webpack實戰
- 3.1 如何接入ES6
- 3.2 如何接入SCSS
- 3.3 React的使用
- 3.4 Vue的使用
- 3.5 使用 Angular2 框架
- 3.6 為單頁應用生成 HTML
- 3.7 離線應用
- 3.7.1 使用 Service Workers 實現離線緩存
- 3.7.2 接入 Webpack
- 3.8 檢查代碼
- 四、Webpack優化
- 4.1 縮小文件搜索范圍
- 4.1.1 優化 loader 配置
- 4.1.2 優化 resolve.modules 配置
- 4.1.3 優化 resolve.mainFields 配置
- 4.1.4 優化 resolve.alias 配置
- 4.1.5 優化 resolve.extensions 配置
- 4.1.6 優化 module.noParse 配置
- 4.2 構建動態鏈接庫
- 4.2.1 接入 Webpack
- 4.2.2 如何實現構建動態鏈接庫
- 4.3 如何把任務分解給多個子進程去并發的執行
- 4.4 多進程壓縮代碼
- 4.5 使用自動刷新
- 4.6 熱模塊替換
- 4.6.1 優化模塊熱替換
- 4.7 區分環境
- 4.7.1 實現原理
- 4.8 CDN加速
- 4.8.1 用 Webpack 實現 CDN 的接入
- 4.9 Tree Shaking優化
- 4.9.1 接入 Tree Shaking
- 4.10 提取公共代碼
- 4.10.1 如何通過 Webpack 提取公共代碼
- 4.11 按需加載
- 4.11.1 用 Webpack 實現按需加載
- 4.11.2 實例強化(按需加載與 ReactRouter)
- 4.12 優化代碼在運行時的效率
- 4.12.1 接入 Webpack
- 4.13 開啟 Scope Hoisting
- 4.13.1 接入webpack
- 4.14 輸出分析
- 五 . Webpack原理
- 5.1 流程概括
- 5.2 流程細節
- 前端監控
- 1. 頁面埋點
- 2. 性能監控
- 3. 異常監控
- 瀏覽器( 整理中 )
- 1. 為什么會有cookie?
- 2. 瀏覽器內核
- 3. cookies,sessionStorage和localStorage的區別