怎样把 vuejs 渐进式整合到已经有大量 jQuery 代码的老网站里?

2018-05-04 05:50:49 +08:00
 openplatform

vuejs 肯定是要全部取代 jquery 的 但也不可能一夜之间全部改写,几乎不可能。

所以这个渐进式取代是怎样发生的?有人能给出一些经验之谈么?

8176 次点击
所在节点    程序员
35 条回复
quietcoder
2018-05-04 12:03:07 +08:00
提供一个思路:
新建一个 vue 项目, 然后针对你的老项目挨个页面修改,改完了之后使用 iframe 内嵌到老项目里面,然后一个一个页面处理就好了,等全部处理完了直接替换掉老的项目,这样可以避免出现一些 “交叉感染” 的问题。
openplatform
2018-05-04 12:05:05 +08:00
@zhuweiyou 我就是“其他同事”
lrz0lrz
2018-05-04 12:08:05 +08:00
vue 本来就以『渐进式』为卖点之一,在页面中通过 <script> 引入就行了,与 jQuery 基本没有冲突。
zhuweiyou
2018-05-04 12:13:49 +08:00
@openplatform 哈哈
MeteorCat
2018-05-04 12:30:01 +08:00
没必要,如果 vue.js|jquery.js 一起引入又没必要
但是去除其中 jquery,你不知道到底整个 ui 框架有没有依赖 jquery[没错,就是 boostrap 有的组件依赖 jquery]
ferrum
2018-05-04 12:40:19 +08:00
我现在维护的一个项目,原来是用 jQuery 写的,为了提高开发效率,我把 vue、Element UI、axios 等库都通过 script 标签加入到 HTML 内。

然后每个 HTML 是通过监听 hash change,然后使用 XHR 动态加载到页面的。这样的做法好处是,每个 HTML 页面对应着一个单独的 vue 组件,实际上也是为了提供和 spa 尽可能相似的开发体验。

题外话,每次遇到这样的问题,都总有一些人冒出来说 jQuery 多好多好,真的烦。我觉得这些人都不是专业的前端开发者,很可能是原来做后端的,平时业余时间偶尔写写前端,觉得前端复杂度也不过如此。你要是做个一个常规的企业后台管理系统,就是左边有侧边栏,顶部有用户信息,右侧显示内容,系统包含大量表单、表格、弹出窗等常见 UI 组件,你就不会觉得 jQuery 开发效率高。你觉得 jQuery 好是因为你只会 jQuery。
swsh007
2018-05-04 12:47:48 +08:00
vue 也不是唯一的选择,没有啥东西是永恒不变的,也没谁能完全替代前人,所以,自己觉得咋好就咋干,工具如果能提升效率就是好工具,但不是提升效率就是好框架好模板。
580a388da131
2018-05-04 14:12:25 +08:00
所以说叫码农嘛 体力活 慢慢改
ycz0926
2018-05-04 14:53:16 +08:00
@wlwood 后端程序员表示,巴不得前后端分离呢,一套 api,多个平台使用,省事
whypool
2018-05-04 15:04:10 +08:00
只能当模版用
cxbig
2018-05-04 15:20:19 +08:00
并行,一个个区块替换掉
sarices
2018-05-04 15:41:07 +08:00
之前一个新项目,一个小小的后台用了 vue spa 方式写,同事接手不了
bzw875
2018-05-04 15:41:46 +08:00
我试过了,之前用的是 jQuery 然后引入 Vue。然后页面代码乱得很难看,感觉下一个接手的前端杀我的心都有了
crs0910
2018-05-04 20:09:06 +08:00
什么时候 📱 能用实体键换电台频道,并且手感不能比 📻 差太多,我才承认 📱 可以替代 🔦。
现在的 📱 嘛?不过是一个畸形儿,谈不上电器,也谈不上通讯。
xudaiqing
2018-05-05 00:11:32 +08:00
没用过 vue.js ,但是不能直接把原来的 jquery 网站做为纯 template 在 vue 里面直接用吗?我以前在 ember 下就是这么做的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/451952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX