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. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””2. Span標簽3. css - 求推薦適用于vue2的框架 像bootstrap這種類型的4. docker-machine添加一個已有的docker主機問題5. java - Collections類里的swap函數,源碼為什么要新定義一個final的List型變量l指向傳入的list?6. css - 關于div自適應問題,大家看圖吧,說不清7. android新手一枚,android使用httclient獲取服務器端數據失敗,但是用java工程運行就可以成功獲取。8. angular.js使用$resource服務把數據存入mongodb的問題。9. redis啟動有問題?10. SessionNotFoundException:會話ID為null。調用quit()后使用WebDriver嗎?(硒)
