本人一年經驗,對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 項目

由於是用 php 模板進行渲染,所以要把打包後的文件放入到 php 模板內,這裡要對 webpack 做一下打包配置,實際上就是用的 HtmlWebpackPlugin。如果,題主只是單純的 jq 頁面的話,那這一步是可以省略的。

然後,要改一下打包之後靜態文件的存放目錄。

注意點:

  • 配置路由時,一定讓後端指向我們打包好的 html。
  • 從 vue 頁面跳到 jq 頁面時,要用 window.location.href。因為非 vue 頁面,vue-router 肯定時不起作用的。

所以,項目內是完全可以集成 vue 的。

如果是改動之前的 jq 頁面

如果條件允許的話最好是遷移到 vue 項目中。

如果實在不行但仍然想用 vue,那我們可以直接在 html 內 script 標籤引用 vue。我們都說 vue 是一個漸進式框架,體現在哪裡?就是體現在這裡,不用現代的打包工具,也可以直接使用 vue。知識點呀同學們。

而且,如果不想引用腳手架的話,那我們頁面直接 script 標籤引用 vue,也是使用 vue 的一種方式。

所以,我理解在你的項目中使用 vue 並沒有很大的成本。

Vue.js從入門到項目實戰 附贈視頻教程京東¥ 369.00去購買?


沒有簡易方法,無論是重寫,還是耦合,還是微前端,或者其他什麼方案,都不會很輕鬆.考慮到你的一年經驗,就更沒有什麼順當無風險的方案了.

建議擺出幾種方案的優劣,列出完全重寫大約要多久,熟悉jq迭代下去要多久,然後丟給你的上級決定.你只有一年經驗,這個鍋肯定輪不到你來背.


項目技術把控是由技術總監權衡的,至於選擇什麼技術你可以提意見 ,不能擅自更改技術棧。

如果項目組就你一個人,那麼怎麼選擇技術你自己把控了,既然你選擇要換一個技術實現功能,那麼你要承擔換技術之後一切後果,所以一定要三思後行。最好的方式,先把想法提出來,然後大家一起評估之後決定。


以前我有你類似的想法,但是現在我基本不會去考慮這些東西,jquery並不是就真的一無是處,也不是什麼的東西,都得上Vue,不要為了技術而技術,用空多想想別的,做一些更有意義的事情


沒有無痛方案,兩個技術手段根本思想不同,vue以數據驅動視圖,在框架設計,開發風格上本就不建議操作dom,而jQuery恰恰是圍繞dom作為核心的


我最喜歡重構項目了,直接起項目搞起


推薦閱讀:
相關文章