javascript - jquery老项目怎么用新技术重构?
问题描述
想用vue重构老项目,jq写的,该如何着手?
问题解答
回答1:jquery只是一个库,而vue是一个框架,决定了用vue重构,就意味着你必须要使用它的写法来书写项目。
虽然vue和jquery本身并不排斥,我也在vue中使用过jquery,但是也仅限于一些比较特殊的场景。整个项目仍然是以vue为核心的。
所以,你想要用vue重构老项目,html部分变化可能不大,但是业务代码逻辑基本就需要完全推倒重新设计了。
回答2:vue 只支持 IE9 以上的浏览器,jQuery 可以支持 IE6,注意是否有浏览器版本的需求
回答3:如果实现过类似的简单框架,你就会发现,Vue 和 jQuery 本质的区别在于对 UI 逻辑的不同组织方式。
jQuery 纯粹是原始 DOM API 的语法糖大合集,而 Vue 则是一个强调通过 MVVM(而不是 MVC!)的组织形式来分离【HTML 模板】和【UI 交互】逻辑的框架。MVVM 的数据绑定语法使得在老项目中引入 Vue 时,其(实际上先进了非常多的)代码组织形式会非常强势地排斥 jQuery(换句话说,用到 Vue 的项目基本没有使用 jQuery 的必要,二者并存不是好的选择)。
这时,一个既有利于提高效率又不会过于激进的方案是,引入【能够优化 jQuery 面条代码组织结构的简单 MVC 框架】,这种框架没有 VM 这种框架自带的语法,相应逻辑仍然需要使用 jQuery 实现。同时,这类框架也比 Vue 还要轻得多,如 Backbone 只有 10k 的量级。建议作为老项目中的优化方案渐进引入。
回答4:局部重构,局部模块或者局部插件重构,保证项目的正常运行下,局部将jQuery替换vue
相关文章:
1. javascript - 怎样定位一个动作调用了哪个js,不打断点调试?2. javascript - webpack 打包 reactjs项目 css 分离3. javascript - vuex中子组件无法调用公共状态4. Span标签5. javascript - ios上fixed定位问题,定位在底部的按钮不显示了,但是又可以点击到,换了一个类名就可以显示了,但是设置的字体大小却失效了6. javascript - 请教移动端从详情页返回到列表页原来位置的问题?7. javascript - 关于微信扫一扫的技术问题8. javascript - (_a = [""], _a.raw = [""],....); js一个小括号的是什么意思?9. javascript - js正则替换日期格式问题10. javascript - Vue.js的ElementUI库中,如何主动触发checkbox组件的change事件?
