代言2017-07-05 11:03:14
jquery
只是一个库,而vue
是一个框架,决定了用vue
重构,就意味着你必须要使用它的写法来书写项目。
虽然vue
和jquery
本身并不排斥,我也在vue
中使用过jquery
,但是也仅限于一些比较特殊的场景。整个项目仍然是以vue
为核心的。
所以,你想要用vue
重构老项目,html部分变化可能不大,但是业务代码逻辑基本就需要完全推倒重新设计了。
欧阳克2017-07-05 11:03:14
如果实现过类似的简单框架,你就会发现,Vue 和 jQuery 本质的区别在于对 UI 逻辑的不同组织方式。
jQuery 纯粹是原始 DOM API 的语法糖大合集,而 Vue 则是一个强调通过 MVVM(而不是 MVC!)的组织形式来分离【HTML 模板】和【UI 交互】逻辑的框架。MVVM 的数据绑定语法使得在老项目中引入 Vue 时,其(实际上先进了非常多的)代码组织形式会非常强势地排斥 jQuery(换句话说,用到 Vue 的项目基本没有使用 jQuery 的必要,二者并存不是好的选择)。
这时,一个既有利于提高效率又不会过于激进的方案是,引入【能够优化 jQuery 面条代码组织结构的简单 MVC 框架】,这种框架没有 VM 这种框架自带的语法,相应逻辑仍然需要使用 jQuery 实现。同时,这类框架也比 Vue 还要轻得多,如 Backbone 只有 10k 的量级。建议作为老项目中的优化方案渐进引入。