javascript随着nodejs的引入,有了比较强大的包管理和部分服务端开发能力。ES6标准,则引进了很多不错的语言特性。

举例:

  1. let可以限定块作用域。
  2. 箭头函数可以方便的写闭包和高阶函数
  3. 方便的类声明方式
  4. Promise和await语法

在这些新特性的基础上,又诞生了比较多的库和框架,实际上,html某种角度看是一个javascript库。

vue就是一个javascript库。它基于MVVM模型,抽象出模版,渲染,路由处理(vue-router),状态处理(vuex),等比较成熟的编程范式,可以快速开发。

由于引入的js包较多,在npm的基础上,vue有更进一步的工程管理工具vue-cli(包括web ui),该工具集成babel,webpack,eslint等工具,统一管理工程结构的生成,插件和依赖的管理,打包部署等过程。vue框架的使用者不必再一个个的去配置这些工具,也不必费力的去构建工程目录和结构关联代码。

关于vue的具体使用,今天学习到如下几个点:

  1. 可以有多级的components,一个component是包含template, script,styles的完整组件
  2. 多级的components之间可以通信,上级到下级通过props,下级到上级使用events,通过slots可以实现compnents之间的多级调用
  3. vue-router实现了前端路由管理机制
  4. vuex实现了共享状态的管理,实际上vuex可能封装了events和slots
  5. vuex的核心机制包括state,mutation, action三部分,其中action部分会调用api
  6. 在vue-element-admin项目中,vuex的目录是store,layout和compnents由router直接指向