前端如何簡易的把jquery項目改為Vue?
本人一年經驗,對JQ不怎麼熟悉,目前接到有項目需要迭代,可以直接用JQ的頁面,但感覺用JQ寫太繁瑣,在考慮使用VUE重寫,請問值得嗎?
這個,你先看一下項目的價值吧
jquery的好處在於兼容性很強,老一代新一代的瀏覽器都可以使用
vue的好處在於你可以不用關心太多數據和視圖之間的綁定關係,而且生命周期等更加明確
你先看一下接手的項目是否會變成長期維護的項目吧,如果會經常性迭代維護升級的話,還是建議用vue否則就jquery改一改比較好,上線項目穩定性壓倒一切
至於說jquery轉vue,其實不是很難,首先是用vue接管整個template的構建,然後在分析之前jquery選擇了哪些dom綁定了哪些處理事件,一個個用vue的methods接管就可以啦,vue和jquery又不是不可以共存,vue通過$el是可以獲取dom對象的,用這個來讓jquery選擇綁定就可以了
簡易方式:jquery本身作為一個document的封裝框架,本身跟document沒什麼區別。其實直接通過script引入vue就好了,然後慢慢把邏輯替換。
正常方式:用 vue-cli 重構一個新的。
. 用vue當殼子,把jq包進來,新功能用vue開發,同時維護jq的老功能
簡單的辦法就是直接引用vue.js文件。
就行引用jQuery.js文件那樣。
不過這樣意義不大,學習、練手可以用,正式項目的話,請慎重考慮。
建議你先用工程化的開發方式做的demo體驗一下。
感覺一下你是否適應。
一年新手,強烈不建議重構。
如果確實精力旺盛,可以考慮維護老項目的同時,並行用新技術開發。
經過測試確認無問題之後替換即可。
但也要考慮成本和公司流程,具體情況具體分析。
我之前所在的項目組,一直用的就是老技術,剛到的時候也很疑惑,都是祖傳老代碼了,為什麼不重構呢?
前輩回答,這樣體積的代碼,重構最少需要半年時間,代價太大。
而且是toC的業務,面向用戶,多樣化。
後來前輩走了,只剩下我一個前端了。
平時的需求已經應接不暇了,甚至著急的時候後端都要上手寫前端代碼。
Jq對於他們來說是毫無壓力的,開箱即用的。
如果重構項目,對於他們了解前端代碼,無疑又增加了一個門檻。
而且有的時候,解決線上問題,可能只是改一個文字,一個按鈕。他們想不明白,為什麼要更新那麼多代碼。
本來一個簡單的替換文件就能解決的問題,為什麼要整包替換?替換整包的流程又極其繁瑣。
所以,重構有必要麼?
後來,我去了另一個部門,也是陳年舊代碼。
但前端的人數增加了,主要是toB的業務,涉及到大量重複的復用。
為了縮減成本,提高效率,所以,重構。
但也不能影響正常的業務流程,一邊開發,一邊重構。
其實寫到這裡,我也有點疑惑了,這兩件事情。
對比的是不同的人力,業務,和領導的態度。
還是具體問題具體分析吧。
但千萬不要累死累活的,最後,產出了一堆自己無法修復的bug,只能回滾落場。
值得。
不知道題主對這些庫有多了解。不過就算跟風,現在主流的現代化的前端框架也就是vue,react,angular這些是肯定值得去替換一些老一點的技術而使用的。
不過另一方面也看具體情況,如果你項目確實夠小,或者因為兼容性之類的問題,也沒必要一定用vue。
如果重構用vue,最好的當然是要換成單頁應用。不過這基本算是重寫了。在原來基礎上寫傳統html這種重構,壞處是可能會比較累,因為組件只是一段字元串,不利於復用。相對jq好處是可以更方便里寫雙綁,管理數據邏輯之類的。
其實改成 Vue 沒必要重構的。
如果是寫新的頁面
直接在現有項目上用 vue-cli 生成一個項目就可以開始幹了,分享下我們目前項目的組織形式。
我們目前的項目最開始是前後端未分離的,寫的是 php 模板,為了使用 Vue,我們直接在當前目錄內生成了一個 vue 項目