Vue简介
引言
- 这几年Vue.js飞速发展,逐渐成为前端框架中最火的一个,越来越多的公司的项目逐渐开始采用Vue开发,到现在Vue.js已经成为我们前端学习必会的JS库,而不是需要掌握了,公司对于我们的要求掌握Vue.js就像是学习JavaScript一样,必会。
- 那你呢?还不抓紧时间学习!
介绍描述
- 作者:尤雨溪(尤大)知乎
- Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
渐进式JavaScript 库:
- 渐进式主要体现在vue的使用和学习路线并不陡峭
- vue本身只是一个视图层的框架.只负责数据的渲染.
- 没有ajax获取数据的能力,没有布局能力.
- 就连最擅长的数据处理在遇到复杂业务场景时,也变的很艰难起来.
- 这就需要大量的第三库来支持vue进行复杂应用开发.
- 当然如果你的项目不复杂你就不必使用这些第三方库(第三方生态)
Vue生态库
- vue-loader : vue模板加载器
- vue-cli : vue脚手架
- vue-router: vue路由
- vuex: 状态管理
- axios(vue-resource): ajax请求
- vue-lazyload: 图片懒加载
- vue-scroller: 页面滑动相关
- mint-ui: 基于vue的UI组件库(移动端)
- element-ui: 基于vue的UI组件库(PC端)
- 等
作用: 动态构建用户界面
Vue特点
- 编码简洁, 体积小, 运行效率高, 适合移动端开发(当然也适合pc)
- 它本身只关注UI, 可以轻松引入vue插件或其它第三库开发项目
- 遵循MVVM模式
- MVC模式
- MVP模式
- MVVM模式
- MVC模式
和其他前端JS库的关系
- 借鉴angular的
模板
和数据绑定
技术 - 借鉴react的
组件化
和虚拟DOM
技术
Vue源码版本对比
- UMD:版本可以通过
<script>
标签直接用在浏览器中- 完整版:同时包含编译器和运行时的版本
- 编译器:用来将模板字符串编译成为 JavaScript 渲染函数的代码。
- 运行时:用来创建 Vue 实例、渲染并处理虚拟 DOM 等的代码。基本上就是除去编译器的其它一切
- CommonJS:
CommonJS
版本用来配合老的打包工具比如Browserify 或 webpack 1
。这些打包工具的默认文件 (pkg.main) 是只包含运行时的 CommonJS 版本 (vue.runtime.common.js) - ES Module:为诸如 webpack 2 或 Rollup 提供的现代打包工具。ESM 格式被设计为可以被静态分析,所以打包工具可以利用这一点来进行“tree-shaking”并将用不到的代码排除出最终的包。为这些打包工具提供的默认文件 (pkg.module) 是只有运行时的 ES Module 构建 (vue.runtime.esm.js)
总结
这城市风很大,孤独的人总是晚回家