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

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

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

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

8346 次点击
所在节点    程序员
35 条回复
noe132
2018-05-04 05:57:02 +08:00
在页面引入 vue.js 。
新的需求用 vue.js 来写就可以了。
比如假设页面有 2 个独立的 table
一个是 jq 的
另一个就用 vue 就可以了。
具体怎么写参考 vue 如何挂载到指定元素上。
Junjunya
2018-05-04 08:11:58 +08:00
码一下 ,看看大神是怎么解决的。
曾经试过引入页面 vue.js 来写,但是发现这种方法并不好。
因为直接页面引入 js 的话,感觉 vue.js 只能起到一个模板引擎的作用。
页面直接引入 vue.js 很难快速找到可以用的插件,
还是各种 jQuery 的库比较多,而并且如果页面 jQuery 和 vue 混用的话,
得需要一定 JS 功力,不然对新手来说,难以掌控。

感觉 vue 还是适合用在 SPA 的场景下
Lxxyx
2018-05-04 08:40:21 +08:00
1 楼加一,逐渐迁移吧
murmur
2018-05-04 08:47:15 +08:00
先拿 vue 当 template 用
carlclone
2018-05-04 08:53:45 +08:00
2 楼说的很清晰了
laogui
2018-05-04 08:55:31 +08:00
我们目前后台系统也是这样搞,不过体验不是很好,原来的页面显示出来 vue 相关的东西才显示。页面都替换的差不多就可以整体换 spa 了,到时候把代码复制粘贴就可以了。
drackzy
2018-05-04 09:16:55 +08:00
$.ajax 逐渐用 axios 替换
notreami
2018-05-04 09:38:11 +08:00
什么时候 Vue 能用其他编程语言后端渲染,并且性能不能比后端模版差太多,我才承认 Vue 可以替代 jquery。
现在的 Vue 嘛?不过是一个畸形儿,谈不上框架,也谈不上组件。
hasbug
2018-05-04 09:47:14 +08:00
@notreami 同感,开发其实也挺不顺畅的
371657110
2018-05-04 09:59:04 +08:00
把 vue 当成工具. 就能用了
oswuhan
2018-05-04 10:13:33 +08:00
@notreami vue 和 jq 是一类东西?讨论替代问题有意义?

@openplatform SEO 无关的业务场景用 vue 重构,比如会员系统的注册、登录、资讯系统的站内搜索、电商系统的下单、支付场景、微博系统的内容流等…… SEO 有关的功能,看能力,vue 生态现有的 SSR 方案都有一定的场景限制,用传统的 template 渲染视图反而更合适。
Torpedo
2018-05-04 10:23:45 +08:00
一个页面一个页面改不行么?在同一个页面里混合老的和新的代码本身就不是什么明智的选择吧。
wlwood
2018-05-04 10:27:56 +08:00
新的子模块,用 vue 的模式来开发,就是尽量按 vue 的那套来。老的,现存的,依然用 jquery 维护。比如,要做一个新的功能,想办法把它放在 vue 新模块上来。


额,后端的人,老喜欢把前端的东西说的一无是处(其实我也是后端人员,tao)。都这年代了,就不用过度强调后端渲染了吧?
给 seo 的,就给个主页就好了。
现在不都搞 app,小程序,公众号了么。后端模板渲染那套,对开发产品这类产品来说,真没 vue, react.js 这些来的好。

昨天隔壁贴,竟然还有个回调地狱的问题。。。表示震惊。。。
fishliu
2018-05-04 10:29:29 +08:00
页面直接引用 vue,router,vuex 使用
oswuhan
2018-05-04 10:30:05 +08:00
再举一个例子,CSS 还不成熟的时候,大家都喜欢使用 table 标签进行网页开发,后来 CSS 发展成熟之后,“ table 布局思想”逐渐被淘汰,并且被认为是一种落后且错误的思想。

但是,现在网页开发中就完全不使用 table 标签进行网页布局吗?答案肯定是要用的。“ table 布局思想”对于数据表格、信息图表等等视图表现形式有先天优势,这种情况下使用 BFC 或者 FFC 布局思想反而不合适。

同样的道理,基于模板思想的视图渲染方式对于生成静态视图的业务场景有先天优势,而基于 DOM 思想的视图渲染方式对于生成强交互、多动画、多状态的动态视图的业务场景有先天优势。
notreami
2018-05-04 10:38:05 +08:00
@oswuhan 为什么不先看下提问呢?提问第一句,“ vuejs 肯定是要全部取代 jquery 的”。
oswuhan
2018-05-04 10:41:16 +08:00
@notreami 问者无罪,答者有心。如果有冒犯,希望不要太在意,我先道个歉。
openplatform
2018-05-04 11:26:51 +08:00
@Torpedo 不错,这个思路挺好
openplatform
2018-05-04 11:28:11 +08:00
@notreami
@oswuhan 二位不要吵嘛。和气生财。共同学习,共同进步。
zhuweiyou
2018-05-04 12:01:28 +08:00
求求你放过其它同事吧,新需求可以直接上全家桶,旧的就别去改了。改了也只能起到一个模板引擎的作用。

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

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

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

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

© 2021 V2EX