javascript - jquery老項目怎么用新技術(shù)重構(gòu)?
問題描述
想用vue重構(gòu)老項目,jq寫的,該如何著手?
問題解答
回答1:jquery只是一個庫,而vue是一個框架,決定了用vue重構(gòu),就意味著你必須要使用它的寫法來書寫項目。
雖然vue和jquery本身并不排斥,我也在vue中使用過jquery,但是也僅限于一些比較特殊的場景。整個項目仍然是以vue為核心的。
所以,你想要用vue重構(gòu)老項目,html部分變化可能不大,但是業(yè)務(wù)代碼邏輯基本就需要完全推倒重新設(shè)計了。
回答2:vue 只支持 IE9 以上的瀏覽器,jQuery 可以支持 IE6,注意是否有瀏覽器版本的需求
回答3:如果實現(xiàn)過類似的簡單框架,你就會發(fā)現(xiàn),Vue 和 jQuery 本質(zhì)的區(qū)別在于對 UI 邏輯的不同組織方式。
jQuery 純粹是原始 DOM API 的語法糖大合集,而 Vue 則是一個強調(diào)通過 MVVM(而不是 MVC!)的組織形式來分離【HTML 模板】和【UI 交互】邏輯的框架。MVVM 的數(shù)據(jù)綁定語法使得在老項目中引入 Vue 時,其(實際上先進(jìn)了非常多的)代碼組織形式會非常強勢地排斥 jQuery(換句話說,用到 Vue 的項目基本沒有使用 jQuery 的必要,二者并存不是好的選擇)。
這時,一個既有利于提高效率又不會過于激進(jìn)的方案是,引入【能夠優(yōu)化 jQuery 面條代碼組織結(jié)構(gòu)的簡單 MVC 框架】,這種框架沒有 VM 這種框架自帶的語法,相應(yīng)邏輯仍然需要使用 jQuery 實現(xiàn)。同時,這類框架也比 Vue 還要輕得多,如 Backbone 只有 10k 的量級。建議作為老項目中的優(yōu)化方案漸進(jìn)引入。
回答4:局部重構(gòu),局部模塊或者局部插件重構(gòu),保證項目的正常運行下,局部將jQuery替換vue
相關(guān)文章:
1. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.2. docker鏡像push報錯3. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題4. 關(guān)于docker下的nginx壓力測試5. dockerfile - [docker build image失敗- npm install]6. python - pyqt多線程問題實在不是很明白。。求解。。7. javascript - 微信報redirect_uri參數(shù)錯誤8. python中def定義的函數(shù)加括號和不加括號的區(qū)別?9. 【python小白】 問關(guān)于之初始化一次對象的問題10. python - (初學(xué)者)代碼運行不起來,求指導(dǎo),謝謝!
