浅谈Vue生态圈

2020-07-04 02:23袁芳芳宁君宇田路强陈森
科技风 2020年17期
关键词:生态圈

袁芳芳 宁君宇 田路强 陈森

摘 要:随着互联网的飞速发展,人们对PC端、移动端应用的要求也越来越高。除了要满足用户稳定、快捷的使用功能体验,令人愉悦的UI,流畅、炫酷、人性化的交互等也变得必不可少。这种需求催生出了一波又一波的前端框架,其中,Vue.js以简洁、灵活、模块友好等特点成为三大主流框架之一。本文先是对Vue.js的特点进行概述,然后介绍了Vue.js的生态圈,以一个由内而为的角度对Vue进行了较全面的阐述。

关键词:Vue;前端框架;生态圈

Vue.js(/vju/)是一套构建用户界面的渐进式前端框架,其名字取自View的谐音,而且在法语里Vue也有View之意。Vue.js只关注视图层,采用自底向上增量开发的设计。Vue的目标是通过尽可能简单的API实现响应的数据绑定和灵活的组件系统。

1 Vue特点概述

简洁:基于Vue框架开发应用时,代码编写风格简洁,并且通俗易懂;并且Vue相比Rect和Angular源码更小巧。

灵活:由于Vue框架本身只关注UI的特点,可以让用户更自由地选择使用一个或一些库。例如使用Vue框架时,路由功能、Ajax技术并不属于它的核心功能,但是如果用户需要用到路由或Ajax,可以将相关的官方库添加进来;也可以使用其他的库或插件,如jQuery的Ajax等。这种按需添加的方式可以使得应用占用的资源更少,运行效率更高。

模块友好:基于Vue框架开发时可以利用CommonJS、RequireJS或者SeaJs等来自第三方的模块构建工具将代码模块化;也可以使用ES6的模块化功能,再配合使用Webpack这种前端资源打包工具进行相应打包,轻松实现代码的模块化。

組件化:Vue框架支持组件化开发,通过组件化开发大大提高了代码可维护性。组件化的思路为将前端页面上某个组件的html、css、js代码集中放到一个.vue的文件中进行组件化的管理和使用。

2 Vue生态圈

随着前端的盛行,Vue框架的用户群越来越大,Vue官方开启了全职运营、维护、以及迭代开发模式,从而构建了越来越丰富的生态圈,如Vue Router-路由管理器、Vuex-状态管理工具、Vue Cli-脚手架、Vue Loader-文件加载器、 Vue Server Render-服务端渲染、Vue devtools-调试工具等。

Vue Router,是Vue官方的路由管理器。它为Vue框架增加了路由功能。通过路由功能,用户可以根据开发的需求自行加载相关组件,简化构建单个页面应用的过程。Vue框架对组件化开发的支持也使得路由实现起来相对简单。由于页面的所有内容都可以组件化开发,所以在基于Vue框架开发时,路由实现相对简单。使用思路为将路径和组件一一对应,然后在页面中把组件渲染出来。

VueX,是Vue官方的状态管理工具,采用全局单例模式,将组件的共享状态抽离出来管理,使组件树中的每一个位置都可以获取共享的状态变量或者触发行为。它的核心概念包括共享状态State,组件的计算属性Getter,仅支持同步修改状态的方法Mutation,支持异步修改状态变量的方法Action。使用思路为:(1)在State中建立属性变量;(2)通过提交Mutation方式同步或异步更改State中的变量。

Vue Cli,脚手架工具,是一个基于Vue框架进行快速开发的完整系统,依赖该工具可以快速创建一个项目。Vue Cli的目标是将Vue生态中的工具基础标准化。

Vue Cli 还包含Cli,Cli Service,Cli插件三个独立部分。Cli是一个全局安装的npm包,提供了终端里的Vue命令。Cli Service是一个局部安装的npm包,是一个开发环境依赖。Cli 插件是向用户的Vue项目提供可选功能的npm包,

使用Vue Cli的思路为:(1)进入放置项目目录,创建项目;(2)根据提示输入项目名称、描述、作者、打包方式等;(3)利用cnpm install命令安装依赖。

webpack处理各种资源的时候,需要加载各种loader,Vue Loader就属于webpack的一个文件加载器,用来将.vue后缀的单文件组件转换为JavaScript模块,从而能够提供用户以一种名为单文件组件 (SFCs)的格式撰写 Vue 组件。

Webpack和Vue Loader的配合使用,为用户撰写基于Vue框架的应用提供了一个现代、灵活且极其强大的前端工作流。

Vue Server Render为服务端渲染,即客户端向服务端请求某页面时,只需要发送一次请求,服务端就将一个渲染好的页面直接返回给客户端。Vue的服务端渲染原理是:服务器利用Vue渲染库的核心函数将组件或页面生成html字符串,然后发送到客户端浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序。服务端渲染的特点有:(1)相比传统单页应用,服务端渲染更有利于搜索引擎优化,减少页面首屏的加载时间。(2)服务端渲染对服务器的压力相对较大。

Vue Class Component是Vue官方推出的对typescript支持的基于类的注解装饰器(库)。使用时需要注意:(1)methods可以直接声明为类的成员方法;(2)计算属性可以被声明为类的属性访问器;(3)初始化的data可以被声明为类属性;(4)data、render以及所有的Vue 生命周期钩子可以直接作为类的成员方法;(5)所有其他属性,需要放在装饰器中。

Vue Devtools是一款基于chrome浏览器的插件,用于调试基于Vue框架的应用。使用该插件可以使用户开发起应用来更加高效率。

3 结语

Vue简洁、灵活、模块化友好等特点吸引了越来越多的开发者,反过来,越来越多的开发者也在不断繁荣Vue的生态系统。本文从Vue各个特点出发再到生态圈的各个组成,较全面的为读者阐述了当下流行的前端框架Vue。

参考文献:

[1]刘博文.深入浅出Vue.js.人民邮电出版社,2019-03-01.

[2]陈陆扬.Vue.js前端开发快速入门与专业应用.人民邮电出版社,2017-01-01.

[3]朱二华.基于Vue.js的Web前端应用研究[J].科技与创新,2017(20):119-121.

猜你喜欢
生态圈
重视生态圈建设 打造生态圈体系
重庆为高校量身定做创新生态圈
传统产业也要拥抱生态圈
数字化教育内容产品的策划与运营
自考衔接沟通人才培养生态圈构建研究
论微信智慧校园生态圈的构建
植树造林也破坏生态圈
互联网+背景下的黄梅戏市场化运作模式研究
撬动企业的商业生态圈
商业银行与电子商务生态圈主体合作框架初探