積累

關於VUE

vue.js的兩個核心是什麼?          php

Vue.js是一個提供MVVM數據雙向綁定的庫,專一於UI層面,核心思想是:數據驅動、組件系統css

https://www.php.cn/js-tutorial-421002.htmlhtml

 

vue中 keep-alive 組件的做用        前端

keep-alive 是 Vue 內置的一個組件,可使被包含的組件保留狀態,或避免從新渲染。vue

https://www.cnblogs.com/lxlin/p/8472395.htmlnode

 

vue更新數組時觸發視圖更新的方法      react

vue直接修改數組元素是沒法觸發視圖更新的, 修改array的length也沒法觸發視圖更新, 能夠經過 Vue.set   、 Vue.delete 、 Arr.splice  等方法修改webpack

http://www.javashuo.com/article/p-rxnkaqqr-na.htmlios

 

解決非工程化項目初始化頁面閃動問題nginx

vue頁面在加載的時候閃爍花括號{}},v-cloak指令和css規則如[v-cloak]{display:none}一塊兒用時,這個指令能夠隱藏未編譯的Mustache標籤直到實例準備完畢

http://www.javashuo.com/article/p-eqccrhnp-kc.html

 

vue等單頁面應用及其優缺點   

優勢:Vue 的目標是經過儘量簡單的 API 實現響應的數據綁定和組合的視圖組件,核心是一個響應的數據綁定系統。MVVM、數據驅動、組件化、輕量、簡潔、高效、快速、模塊友好。

缺點:不支持低版本的瀏覽器,最低只支持到IE9;不利於SEO的優化(若是要支持SEO,建議經過服務端來進行渲染組件);第一次加載首頁耗時相對長一些;不可使用瀏覽器的導航按鈕須要自行實現前進、後退。

 

vue-cli3 配置全局自定義變量 開發/生產環境

 https://blog.csdn.net/m0_37827076/article/details/102831552

 

vue-cli中自定義指令的使用    

經過  directives 屬性設置,定義 inserted 方法,該方法傳入一個el 對象

https://www.jianshu.com/p/90297e8c9d06

 

完整的 vue-router 導航解析流程       

路由的解析過程共有12步

  1. 導航被觸發。
  2. 在失活的組件裏調用離開守衛 beforeRouteLeave
  3. 調用全局的  beforeEach 守衛。
  4. 在重用的組件裏調用  beforeRouteUpdate 守衛 (2.2+)。
  5. 在路由配置裏調用  beforeEnter
  6. 解析異步路由組件。
  7. 在被激活的組件裏調用  beforeRouteEnter
  8. 調用全局的  beforeResolve 守衛 (2.5+)。
  9. 導航被確認。
  10. 調用全局的  afterEach 鉤子。
  11. 觸發 DOM 更新。
  12. 用建立好的實例調用  beforeRouteEnter 守衛中傳給  next 的回調函數。

紅色的鉤子函數是全局的,藍色的鉤子函數是路由特有的,粉紫色的鉤子函數是組件內部的。

最經常使用的是全局的 beforeEach 守衛。

 

vue-router的幾種實例方法以及參數傳遞    

1.命名路由搭配params,刷新頁面參數會丟失
2.查詢參數搭配query,刷新頁面數據不會丟失

https://blog.csdn.net/crazywoniu/article/details/80942642

 

vue-router實現路由懶加載( 動態加載路由 ) 

  1. vue異步組件
  2. es提案的import()
  3. webpack的require,ensure()

 https://blog.csdn.net/mzrxLXR/article/details/81484676

 

vue-router路由的兩種模式          

vue-router 默認 hash 模式,還有一種是history模式。history模式不會再URL後面帶 #/ 標識

http://www.javashuo.com/article/p-mrycgquz-dy.html

 

使用vuex的核心概念(介紹狀態機) 

主要有 state 、 getters、 mutations、actions 四個狀態

http://www.javashuo.com/article/p-qtgrustb-na.html

 

pc端頁面刷新時實現vuex緩存       

辦法一:將vuex中的數據直接保存到瀏覽器緩存中(sessionStorage、localStorage、cookie)
辦法二:在頁面刷新的時候再次請求遠程數據,使之動態更新vuex數據
辦法三:在父頁面向後臺請求遠程數據,而且在頁面刷新前將vuex的數據先保存至sessionStorage(以防請求數據量過大頁面加載時拿不到返回的數據)
 

axios、fetch與ajax有什麼區別?     

Ajax 指的是 XMLHttpRequest(XHR), 是一種建立交互式網頁應用的網頁開發技術

Axios 是一個基於Promise 用於瀏覽器和 nodejs 的 HTTP 客戶端,本質上也是對原生XHR的封裝

Fetch號稱是AJAX的替代品,是在ES6出現的,使用了ES6中的promise對象。fetch不是ajax的進一步封裝,而是原生js,沒有使用XMLHttpRequest對象
 

axios有什麼特色?            

一、Axios 是一個基於 promise 的 HTTP 庫,支持promise全部的API
二、它能夠攔截請求和響應
三、它能夠轉換請求數據和響應數據,並對響應回來的內容自動轉換成 JSON類型的數據
四、安全性更高,客戶端支持防護 XSRF

http://www.bslxx.com/a/vue/mianshiti/2017/1107/1409.html

 

vue如何優化首屏加載速度?       

一、路由異步加載

二、不打包庫文件

三、關閉sourcemap

四、開啓gizp壓縮,前端將文件打包成.gz文件,而後經過nginx的配置,讓瀏覽器直接解析.gz文件。

https://www.jianshu.com/p/df198914331b

 

vue的雙向綁定原理及實現          

主要是經過 object.defineProperty() 方法來實現數據劫持的,該方法具兩個描述屬性get和set ,賦值的時候除發set , 使用的時候觸發get  

1.實現一個監聽器Observer,用來劫持並監聽全部屬性,若是有變更的,就通知訂閱者。

2.實現一個訂閱者Watcher,能夠收到屬性的變化通知並執行相應的函數,從而更新視圖。

3.實現一個解析器Compile,能夠掃描和解析每一個節點的相關指令,並根據初始化模板數據以及初始化相應的訂閱器。

 http://www.javashuo.com/article/p-ttwlcyrf-be.html

 

MVC、MVP與MVVM的區別        

https://blog.csdn.net/github_37130188/article/details/89762737

 

什麼是 Virtual DOM?           

https://blog.csdn.net/weixin_40814356/article/details/84214244

 

全面解析Vue     

https://mp.weixin.qq.com/s/LilyrAKBWWPtuyisE0ffMA

 

關於React

在React中使用react-router-dom路由 

react構建的是單頁面應用,使用該插件實現頁面間的跳轉等功能,相似於vue-router

https://www.jianshu.com/p/8954e9fb0c7e

 

什麼是Redux  ?  

Redux 是 JavaScript 狀態容器,提供可預測化的數據狀態管理(可理解爲相似Vuex ),不一樣的是,Redux能夠搭配任何語言使用,並非專門用於React

store: store對象是保存公共數據的地方,一個應用只能建立一個store

state:state是store映射的數據集合,一個state 只對應一個view (即存放數據變量的地方)

action:改變state 數據的惟一方法,須要聲明一個type屬性,在調用時使用

store.dispatch():store.dispatch()是 view 發出 action 的惟一方法,也能夠理解爲發射action通知的惟一方法。裏面的type屬性值爲須要調用的action方法type值

reducer() : 當action方法被觸發後,會自動調用,接收兩個參數,一個爲本來的state, 另外一個爲被調用的action,可根據action.type 類型執行對應邏輯

https://www.jianshu.com/p/d99f5deccfaa

 

Redux數據管理原理 

 https://github.com/brickspert/blog/issues/22

 

React-redux的使用  

React-ReduxRedux的官方React綁定庫, 是基於 Redux 的基礎上,作了一些封裝,使其更方便使用在React中

提供 connect() 方法,讓你把組件和store鏈接起來

提供了<Provider/>組件,可在最外層注入整個store, 可以使你的整個app訪問到Redux store中的數據

https://www.jianshu.com/p/e8385b129b77

 

關於Dva   

dva 首先是一個基於 redux 和 redux-saga 的數據流方案,而後爲了簡化開發體驗,dva 還額外內置了 react-router 和 fetch,因此也能夠理解爲一個輕量級的應用框架。

dva = React-Router + Redux + Redux-saga   , 它將三個 React 工具庫包裝在一塊兒,方便開發使用。

https://dvajs.com/

 

關於Mobx

跟React-Redux 同樣,是一套爲React開發的數據狀態管理技術,相似Vuex。 使用後在React中的開發方式相似於Vue, 可以使用this.name 進行訪問賦值

observer  聲明該組件類可以響應 observable 的變化

inject      在組件類注入store , 可經過props的方式進行訪問 store.state 中的值

observable  表示該變量被監聽,可經過this.name的方法進行調用賦值

action    聲明該方法可改變被 observable 監聽的變量

https://www.jianshu.com/p/2dfe11a9dfde      https://cn.mobx.js.org/

 

 

React企業級開發框架 Umi 

一個可插拔的企業級 react 應用框架, 內置 react、react-router 等, 集成從源碼到構建產物的每一個生命週期功能,理解爲一個集成了開發大型項目所須要各個流程功能的框架。

https://umijs.org/zh/

 

企業級中後臺前端 Ant Design Pro

Ant Design Pro 是一個企業級中後臺前端/設計解決方案, 構建了一套基於 React 的中後臺管理控制檯的腳手架,它能夠幫助你快速搭建企業級中後臺產品原型。

Ant Design Pro = React + Antd + Umi.js

https://pro.ant.design/docs/getting-started-cn

 

react 新功能之 Hooks 

React 具有 無狀態組件(Function)和 有狀態組件(Class) 兩種方式, 無狀態組件不存在生命週期,只可做爲組件使用。

Hooks 解決了 React 複用一個組件時生命週期複雜的問題,同時也可讓 無狀態組件存在生命週期

 

 https://www.jianshu.com/p/aafccf6e9ad6   https://www.jianshu.com/p/15fabae835a0

 

關於 react 那些小知識點兒 

 https://www.jianshu.com/p/4d2838ae7b29

 

react 性能優化 

 https://mp.weixin.qq.com/s/LG_1WXWFJQbuJuHiTqXzyw

 

網上都說操做真實 DOM 慢,但測試結果卻比 React 更快,爲何?

 https://www.zhihu.com/question/31809713/answer/53544875

 

原生客戶端技術

對flutter的瞭解  https://www.jianshu.com/p/b77242539f58

weex和rn原理   https://www.jianshu.com/p/3dde6902351c

pwa的使用    http://www.javashuo.com/article/p-upzhoelo-ku.html

Electron 快速入門   https://www.w3cschool.cn/electronmanual/p9al1qkx.html

NW.js是什麼?https://www.php.cn/js-tutorial-419101.html

關於JS

什麼是JS的同源策略和跨域問題? https://www.php.cn/js-tutorial-405805.html

Object.defineProperty()方法 https://www.cnblogs.com/zhaowj/p/9576450.html

ES6新語法  https://mp.weixin.qq.com/s/8bov6788ivV0sHzmwrn5lw     http://es6.ruanyifeng.com/#docs/function  https://mp.weixin.qq.com/s/3Ku8w-LLgM0cor2c8ipY9A

JS面試題  https://www.jianshu.com/p/f1f39d5b2a2e

 

 

Webpack

http://www.javashuo.com/article/p-vyuisfjt-dd.html

https://www.jianshu.com/p/06c6614001be?utm_source=oschina-app

https://www.jianshu.com/p/e80d38661358

http://www.javashuo.com/article/p-vyawfuqy-ga.html

 

關於CSS

https://mp.weixin.qq.com/s/e_gXXJTFocNxDaG0U_iB_g

 

 其餘

頁面性能優化 http://www.javashuo.com/article/p-wwggrbqj-ew.html 

http緩存   https://www.jianshu.com/p/278e93e5b1fb   http://www.javashuo.com/article/p-ywbxfrkg-et.html

對http2的瞭解  https://www.jianshu.com/p/a742c589f121

前端安全相關   https://blog.csdn.net/yinqian999/article/details/90230298

 

http://www.javashuo.com/article/p-gubxjljx-eb.html

https://github.com/geekcompany/ResumeSample/blob/master/web.md

 

關於小程序

http://www.javashuo.com/article/p-uabwgknu-de.html

相關文章
相關標籤/搜索