vuejs 肯定是要全部取代 jquery 的 但也不可能一夜之间全部改写,几乎不可能。
所以这个渐进式取代是怎样发生的?有人能给出一些经验之谈么?
1
noe132 2018-05-04 05:57:02 +08:00 via Android
在页面引入 vue.js 。
新的需求用 vue.js 来写就可以了。 比如假设页面有 2 个独立的 table 一个是 jq 的 另一个就用 vue 就可以了。 具体怎么写参考 vue 如何挂载到指定元素上。 |
2
Junjunya 2018-05-04 08:11:58 +08:00
码一下 ,看看大神是怎么解决的。
曾经试过引入页面 vue.js 来写,但是发现这种方法并不好。 因为直接页面引入 js 的话,感觉 vue.js 只能起到一个模板引擎的作用。 页面直接引入 vue.js 很难快速找到可以用的插件, 还是各种 jQuery 的库比较多,而并且如果页面 jQuery 和 vue 混用的话, 得需要一定 JS 功力,不然对新手来说,难以掌控。 感觉 vue 还是适合用在 SPA 的场景下 |
3
Lxxyx 2018-05-04 08:40:21 +08:00 via Android
1 楼加一,逐渐迁移吧
|
4
murmur 2018-05-04 08:47:15 +08:00
先拿 vue 当 template 用
|
5
carlclone 2018-05-04 08:53:45 +08:00
2 楼说的很清晰了
|
6
laogui 2018-05-04 08:55:31 +08:00 via Android
我们目前后台系统也是这样搞,不过体验不是很好,原来的页面显示出来 vue 相关的东西才显示。页面都替换的差不多就可以整体换 spa 了,到时候把代码复制粘贴就可以了。
|
7
drackzy 2018-05-04 09:16:55 +08:00
$.ajax 逐渐用 axios 替换
|
8
notreami 2018-05-04 09:38:11 +08:00 2
什么时候 Vue 能用其他编程语言后端渲染,并且性能不能比后端模版差太多,我才承认 Vue 可以替代 jquery。
现在的 Vue 嘛?不过是一个畸形儿,谈不上框架,也谈不上组件。 |
10
371657110 2018-05-04 09:59:04 +08:00
把 vue 当成工具. 就能用了
|
11
oswuhan 2018-05-04 10:13:33 +08:00
@notreami vue 和 jq 是一类东西?讨论替代问题有意义?
@openplatform SEO 无关的业务场景用 vue 重构,比如会员系统的注册、登录、资讯系统的站内搜索、电商系统的下单、支付场景、微博系统的内容流等…… SEO 有关的功能,看能力,vue 生态现有的 SSR 方案都有一定的场景限制,用传统的 template 渲染视图反而更合适。 |
12
Torpedo 2018-05-04 10:23:45 +08:00
一个页面一个页面改不行么?在同一个页面里混合老的和新的代码本身就不是什么明智的选择吧。
|
13
wlwood 2018-05-04 10:27:56 +08:00
新的子模块,用 vue 的模式来开发,就是尽量按 vue 的那套来。老的,现存的,依然用 jquery 维护。比如,要做一个新的功能,想办法把它放在 vue 新模块上来。
额,后端的人,老喜欢把前端的东西说的一无是处(其实我也是后端人员,tao)。都这年代了,就不用过度强调后端渲染了吧? 给 seo 的,就给个主页就好了。 现在不都搞 app,小程序,公众号了么。后端模板渲染那套,对开发产品这类产品来说,真没 vue, react.js 这些来的好。 昨天隔壁贴,竟然还有个回调地狱的问题。。。表示震惊。。。 |
14
fishliu 2018-05-04 10:29:29 +08:00
页面直接引用 vue,router,vuex 使用
|
15
oswuhan 2018-05-04 10:30:05 +08:00
再举一个例子,CSS 还不成熟的时候,大家都喜欢使用 table 标签进行网页开发,后来 CSS 发展成熟之后,“ table 布局思想”逐渐被淘汰,并且被认为是一种落后且错误的思想。
但是,现在网页开发中就完全不使用 table 标签进行网页布局吗?答案肯定是要用的。“ table 布局思想”对于数据表格、信息图表等等视图表现形式有先天优势,这种情况下使用 BFC 或者 FFC 布局思想反而不合适。 同样的道理,基于模板思想的视图渲染方式对于生成静态视图的业务场景有先天优势,而基于 DOM 思想的视图渲染方式对于生成强交互、多动画、多状态的动态视图的业务场景有先天优势。 |
18
openplatform OP @Torpedo 不错,这个思路挺好
|
19
openplatform OP |
20
zhuweiyou 2018-05-04 12:01:28 +08:00
求求你放过其它同事吧,新需求可以直接上全家桶,旧的就别去改了。改了也只能起到一个模板引擎的作用。
|
21
quietcoder 2018-05-04 12:03:07 +08:00
提供一个思路:
新建一个 vue 项目, 然后针对你的老项目挨个页面修改,改完了之后使用 iframe 内嵌到老项目里面,然后一个一个页面处理就好了,等全部处理完了直接替换掉老的项目,这样可以避免出现一些 “交叉感染” 的问题。 |
22
openplatform OP @zhuweiyou 我就是“其他同事”
|
23
lrz0lrz 2018-05-04 12:08:05 +08:00
vue 本来就以『渐进式』为卖点之一,在页面中通过 <script> 引入就行了,与 jQuery 基本没有冲突。
|
24
zhuweiyou 2018-05-04 12:13:49 +08:00 1
@openplatform 哈哈
|
25
MeteorCat 2018-05-04 12:30:01 +08:00
没必要,如果 vue.js|jquery.js 一起引入又没必要
但是去除其中 jquery,你不知道到底整个 ui 框架有没有依赖 jquery[没错,就是 boostrap 有的组件依赖 jquery] |
26
ferrum 2018-05-04 12:40:19 +08:00 via iPhone
我现在维护的一个项目,原来是用 jQuery 写的,为了提高开发效率,我把 vue、Element UI、axios 等库都通过 script 标签加入到 HTML 内。
然后每个 HTML 是通过监听 hash change,然后使用 XHR 动态加载到页面的。这样的做法好处是,每个 HTML 页面对应着一个单独的 vue 组件,实际上也是为了提供和 spa 尽可能相似的开发体验。 题外话,每次遇到这样的问题,都总有一些人冒出来说 jQuery 多好多好,真的烦。我觉得这些人都不是专业的前端开发者,很可能是原来做后端的,平时业余时间偶尔写写前端,觉得前端复杂度也不过如此。你要是做个一个常规的企业后台管理系统,就是左边有侧边栏,顶部有用户信息,右侧显示内容,系统包含大量表单、表格、弹出窗等常见 UI 组件,你就不会觉得 jQuery 开发效率高。你觉得 jQuery 好是因为你只会 jQuery。 |
27
swsh007 2018-05-04 12:47:48 +08:00 via Android
vue 也不是唯一的选择,没有啥东西是永恒不变的,也没谁能完全替代前人,所以,自己觉得咋好就咋干,工具如果能提升效率就是好工具,但不是提升效率就是好框架好模板。
|
28
580a388da131 2018-05-04 14:12:25 +08:00
所以说叫码农嘛 体力活 慢慢改
|
30
whypool 2018-05-04 15:04:10 +08:00
只能当模版用
|
31
cxbig 2018-05-04 15:20:19 +08:00 via iPhone
并行,一个个区块替换掉
|
32
sarices 2018-05-04 15:41:07 +08:00
之前一个新项目,一个小小的后台用了 vue spa 方式写,同事接手不了
|
33
bzw875 2018-05-04 15:41:46 +08:00
我试过了,之前用的是 jQuery 然后引入 Vue。然后页面代码乱得很难看,感觉下一个接手的前端杀我的心都有了
|
34
crs0910 2018-05-04 20:09:06 +08:00 via Android
什么时候 📱 能用实体键换电台频道,并且手感不能比 📻 差太多,我才承认 📱 可以替代 🔦。
现在的 📱 嘛?不过是一个畸形儿,谈不上电器,也谈不上通讯。 |
35
xudaiqing 2018-05-05 00:11:32 +08:00
没用过 vue.js ,但是不能直接把原来的 jquery 网站做为纯 template 在 vue 里面直接用吗?我以前在 ember 下就是这么做的。
|