javascript随着nodejs的引入,有了比较强大的包管理和部分服务端开发能力。ES6标准,则引进了很多不错的语言特性。
举例:
- let可以限定块作用域。
- 箭头函数可以方便的写闭包和高阶函数
- 方便的类声明方式
- Promise和await语法
在这些新特性的基础上,又诞生了比较多的库和框架,实际上,html某种角度看是一个javascript库。
vue就是一个javascript库。它基于MVVM模型,抽象出模版,渲染,路由处理(vue-router),状态处理(vuex),等比较成熟的编程范式,可以快速开发。
由于引入的js包较多,在npm的基础上,vue有更进一步的工程管理工具vue-cli(包括web ui),该工具集成babel,webpack,eslint等工具,统一管理工程结构的生成,插件和依赖的管理,打包部署等过程。vue框架的使用者不必再一个个的去配置这些工具,也不必费力的去构建工程目录和结构关联代码。
关于vue的具体使用,今天学习到如下几个点:
- 可以有多级的components,一个component是包含template, script,styles的完整组件
- 多级的components之间可以通信,上级到下级通过props,下级到上级使用events,通过slots可以实现compnents之间的多级调用
- vue-router实现了前端路由管理机制
- vuex实现了共享状态的管理,实际上vuex可能封装了events和slots
- vuex的核心机制包括state,mutation, action三部分,其中action部分会调用api
- 在vue-element-admin项目中,vuex的目录是store,layout和compnents由router直接指向