Vue/2/3重点总结—理论篇

一、Vue哪里好?

我认为一个好的框架首先有以下几点必要的特点

  • 简单易学,文档完善,Api清晰易懂,容易上手
  • 不会给程序员的开发过程带来很大的心智负担
  • 社区完善,长期维护,有完整的生态系统
  • 对业务逻辑及数据的关注度优先于框架本身的使用

低学习成本和使用成本

我认为,前端的发展思路永远是:在保证性能的基础上,提升程序员的开发效率为先。

Vue 和其他前端框架相比,在结构、样式、业务分离等方面更清晰彻底,更符合前端多年来的编码习惯,更符合直觉、更容易学习和维护,非常容易与其它库或已有项目整合。

虽然React等视图框架同样有很多优势,也同样简单易学。但其JSX的编码不太符合编码习惯。另外,在操作数据时,React的单向绑定和较为开放的API,封装性较小,容易带来一些心智负担。而vue很多东西都是内置的,写起来方便一些。比如指令,数据监听机制、模板语法封装、计算属性等丰富的API等。

高性能和轻量级

Vue在轻量级的基础上,还兼顾了高性能。相比于其他框架,Vue有更小的编译后体积,以及更快的渲染性能。

HTML模板化的组件结构

如果你喜欢用模板搭建应用,请选择Vue。

对于Web开发者,模板更容易理解。一些资深开发者也更喜欢模板,因为模板可以更好的把布局和功能分割开来。

而React重度依赖JSX,布局和功能代码组合到一起的写法,对于老开发者来说编码习惯不合适。

Vue3.0的加持

Vue3.x版本的上线,速度、性能、体积的优化,尤其是组合式API和函数式的编程思想、对TS更友好的支持是我坚持Vue的动力。

二、Vue打包后有哪些文件?

  • 资源文件:包括图片、字体、样式和直接拷贝的文件
  • app.js:项目中各个模块的逻辑代码,格式被压缩
  • chunk-vendors.js:导入的第三方依赖包。防止该文件体积过大,可以使用webpack的externals配置,可以声明无需打包的依赖。可在使用CDN资源引用。
  • 其他js:使用路由懒加载方式打包的模块逻辑代码
  • xx.js.map:Source map文件,方便我们开发时调试js代码使用
  • index.html:html入口文件,基本没什么内容

三、有没有自己封装过组件?

我用vue开发的所有项目,都是采用组件化的思想开发的。一般我在搭建项目的时候,会创建一个views目录和一个components目录。

  • views目录中放页面级的组件
  • components中放公共组件
  • views中在页面文件夹中也可以添加components文件放置页面内的局部组件或公共组件
  • views或components中可以创建hooks文件夹,用于抽离相同业务逻辑的代码

首先,组件可以提升整个项目的开发效率。能够把页面抽象成多个相对独立的模块,解决了我们传统项目开发:效率低、难维护、复用性低等问题。

组件可以单独引用,也可以使用app.component('TkBadge', TkBadge)函数注册全局组件。

组件的封装要尽量做到低耦合性,方便更好得复用和维护。传参要更加灵活自由。

组件封装要尽量遵循“单一职责原则”,不同组件承担不同职责,互不干扰,可自由组合。这样便于更好的可读性和复用性。

比如封装公共组件如:弹窗、错误提示、自定义右键菜单

UI框架二次封装如:表格二次封装(固定格式的json、分页、查询等)、表单二次封装

加载中...
加载中...