javascript - jquery老項目怎么用新技術重構?
問題描述
想用vue重構老項目,jq寫的,該如何著手?
問題解答
回答1:jquery只是一個庫,而vue是一個框架,決定了用vue重構,就意味著你必須要使用它的寫法來書寫項目。
雖然vue和jquery本身并不排斥,我也在vue中使用過jquery,但是也僅限于一些比較特殊的場景。整個項目仍然是以vue為核心的。
所以,你想要用vue重構老項目,html部分變化可能不大,但是業務代碼邏輯基本就需要完全推倒重新設計了。
回答2:vue 只支持 IE9 以上的瀏覽器,jQuery 可以支持 IE6,注意是否有瀏覽器版本的需求
回答3:如果實現過類似的簡單框架,你就會發現,Vue 和 jQuery 本質的區別在于對 UI 邏輯的不同組織方式。
jQuery 純粹是原始 DOM API 的語法糖大合集,而 Vue 則是一個強調通過 MVVM(而不是 MVC!)的組織形式來分離【HTML 模板】和【UI 交互】邏輯的框架。MVVM 的數據綁定語法使得在老項目中引入 Vue 時,其(實際上先進了非常多的)代碼組織形式會非常強勢地排斥 jQuery(換句話說,用到 Vue 的項目基本沒有使用 jQuery 的必要,二者并存不是好的選擇)。
這時,一個既有利于提高效率又不會過于激進的方案是,引入【能夠優化 jQuery 面條代碼組織結構的簡單 MVC 框架】,這種框架沒有 VM 這種框架自帶的語法,相應邏輯仍然需要使用 jQuery 實現。同時,這類框架也比 Vue 還要輕得多,如 Backbone 只有 10k 的量級。建議作為老項目中的優化方案漸進引入。
回答4:局部重構,局部模塊或者局部插件重構,保證項目的正常運行下,局部將jQuery替換vue
相關文章:
1. javascript - 回調函數和閉包的關系2. javascript - 在top.jsp點擊退出按鈕后,right.jsp進行頁面跳轉,跳轉到login.jsp3. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點4. node.js - koa2 如何獲取參數?5. javascript - 下面的這段算法代碼求解釋6. css3 - 在sublime text里, 如何讓emmet生成的帶前綴css屬性垂直對齊?7. mac連接阿里云docker集群,已經卡了2天了,求問?8. javascript - js 有什么優雅的辦法實現在同時打開的兩個標簽頁間相互通信?9. java - spring-data Jpa 不需要執行save 語句,Set字段就可以自動執行保存的方法?求解10. [前端求職必看]前端開發面試題與答案精選_擴展問題
