Vue开发指南之重点知识梳理

概述

如果您是Vue开发的新手,您可能已经听过很多关于它的专业术语了,例如:单页面应用程序、异步组件、服务器端呈现等。

另外您可能还经常听到和Vue一起提到的工具和库,如Vuex、Webpack、Vue CLI和Nuxt。

也许您在面对这些未知的术语和工具时会感到无助和绝望,没关系,您并不孤单,因为这是所有新手在初次接触Vue时都会有的感受。

但如果您试图要一次掌握所有这些内容,那么这些庞大的体系很可能会压垮你。为此,我在这里将为大家展示一个“知识图表”,它包含了所有在专业Vue开发过程中的关键部分。您可以参考这个图为您在2019学习Vue的过程中指引方向。

0. JavaScript和Web开发基础

如果我让你用英文去阅读纯英文书籍,那么你应该先要学习英文,对吗?

同样,Vue是一个用于构建Web用户界面的JavaScript框架。在开始使用Vue之前,您至少必须先要掌握JavaScript和Web开发的基础知识。

1. Vue的基础概念

如果您是一个Vue的萌新开发,您应该专注于Vue.js 生态系统的核心,其中包括Vue核心库,Vue Router和Vuex。因为这些工具将会在绝大部分的Vue应用程序中应用。好的,那我们开始介绍关于Vue的一些基础概念。

Vue核心功能

在基础情况下,Vue将网页和JavaScript保持同步,实现这一目标的特性是响应式数据及指令和插值等模板功能,这些都是第一天要学习的内容。

在构建你的第一个Vue应用之前,你还必须要去了解如何在网页中去安装/使用Vue,以及了解Vue的引用实例的生命周期。

组件

Vue的组件是可重复使用,并相互独立的UI元素。您需要了解,如何声明组件,以及如何通过属性和事件使组件间通信。

并且学会组合组件也同样重要,因为这关乎着你是否能够使用Vue构建出一个健壮、可扩展应用程序。

单页面应用程序

单页面应用程序(SPA)架构决定了您创建的Web页面一样能够展示和多页面网站一样丰富的内容,且不会当用户在点击链接后重新加载整个页面等这样低效的行为。

一旦您将您的“页面”创建成了一个Vue组件,您可以为每一个组件使用Vue Router,将每个请求映射到一个唯一的访问路径上,Vue Router是一个由Vue团队维护的用于构建单页面应用程序(SPA)的工具。

状态管理

随着项目规模越来越庞大, SPA的许多页面上将会有越来越多的组件,管理全局状态也将变得越发棘手,组件因为大量的属性和事件监听器而变得臃肿。

一种称为“Flux”的特殊模式可将您的数据保存在稳定的中央存储中。Vuex库也由Vue团队维护,可祝您在Vue.js 应用程序中实现Flux。

2. 生产环境中的Vue

您从第一部分获得的所有知识都可用于构建高性能和高效的Vue应用程序,虽然是允许在你的本地服务器上,那么,如何确保他们能够在实际生产环境下运行呢?

如果您要把基于Vue.js 的产品推向用户,您还需要了解更多内容,以下将为您介绍。

项目脚手架

如果您需要经常构建Vue应用程序,您会发现几乎每个项目都会提供配置、设置和开发人员工具。

Vue团队维护了一个名为Vue CLI的工具,它可以让您在几分钟内构建一个强大的Vue开发环境。

全栈 / 认证应用程序

Vue应用通常是数据驱动型的用户界面,数据通常是由Node、Laravel、Rails、Django

或其他服务器框架编写的安全API作为来源。

也许数据是由传统的REST API或GraphQL提供,再或者是Web Socket提供的实时数据。

另外你还应该熟悉通常用于将Vue集成到全堆栈配置中的设计模式,以及在Vue应用程序中保护用户数据安全的各种注意事项。

如果您正在评估什么后端产品是您开发Vue应用时的最好选择,那么这篇文章中应该有您的答案。

测试

如果您想保证您的Vue应用程序在生产环境中表现的既可维护又稳定,您需要对您的应用提供完成的测试。

在Vue应用程序中,单元测试可确保您的组件始终为给定的输入(属性或用户输入的内容)提供相同的属除(渲染好的HTML或事件)。

Vue团队维护着一个名为Vue Test Utils的工具,它允许您能对组件单独的创建和执行测试过程。

优化

当您将应用程序部署到远程服务器后,这个应用的访问速度和执行效率很可能不会像在开发阶段表现的那样迅速,很可能当用户访问时速度会很慢。

为了提升效率,我们需要优化您的Vue应用,优化的过程我们可以采用各种技术,包括服务端渲染。在服务端渲染中,Vue程序将在服务端执行,在用户访问时,将渲染完成的HTML呈现给用户,从而达到提升访问速度的目的。

当然,还包括其他优化技术,例如:异步组件和渲染功能。

3. 关键工具

到目前为止,我们所看到的一切都来自Vue.js核心,或来自生态系统中的工具。但Vue不是孤立存在的,它只是前端技术栈中其中的一块。

高级开发中不应该仅仅熟悉Vue,还要熟悉一些其他关键工具,因为它可能将成为未来Vue应用其中的一部分。

现代JavaScript和Babel

ES5可以有效构建Vue应用程序,ES5几乎是所有浏览器都支持的JavaScript标准。

为了增强Vue的开发体验,并使用最新的浏览器功能,您可以使用最新的JavaScript

标准ES2015的特性或ES2016及更高版本的建议功能来构建您的Vue应用程序。

如果选择使用了最新的JavaScript特性,那么其中旧版浏览器将会出现兼容问题,这会造成您的产品将会损失掉一部分用户。

而如何对旧浏览器做兼容呢? Babel 可以实现这个目的,它的职责就是在应用程序发布前将您应用程序中现代特性“转换”(翻译和编译)为标准功能。

Webpack

Webpack是一个模块打包工具,意思是如果您的代码跨不同模块编写的(例如,不同的JavaScript文件),Webpack也可以全部将这些内容“构建”到一个浏览器可读的单个文件中。

Webpack 还可以构建流水线,它允许您在构建代码前进行转换。例如,使用前面铁道的Babel,Sass或TypeScript,还可以使用一系列插件来优化您的应用程序。

许多开发者认为Webpack很难理解,也很难配置,但如果没有它,Vue的一些最棒的功能(如:单页面组件)将无法实现。我们有关于WebPack的系列教程,助您快速掌握Webpack的使用和配置。

TypeScript

TypeScript是JavaScript语言的超集,它包含了(String,Boolean,Number等)。有了这样的类型定义,能保证您在开发期间就能编写出健壮和稳定的代码,能尽早发现错误。

即将于2019年推出的Vue.js 3将完全用TypeScript开发,这并不意味着您必须在Vue项目中使用它。但假如您需要通过阅读Vue的内部代码并加入Vue的开源组织为其贡献力量,您至少也是应该要了解TypeScript这个语言的。

4. Vue框架

基于Vue创建的框架,使您无需从头开始实现服务端渲染,创建自己的组件库以及其他类似的工作。

目前有许多优秀的Vue框架,但在这,我们只列出了应用在不同领域最为广泛的三个框架。

Nuxt.js

如果你想要构建一个高性能的Vue应用程序,同时还要基于路由、服务端呈现、代码分离和其他前沿特性,同时还需要一些更高级的功能,例如:SEO标记等。您可以使用Nuxt.js框架。

Nuxt.js框架通过其丰富的社区插件提供了所有这些开箱即用的特性,以及更多的特性,如PWA等。

Vuetify

Google的Material Design标准是一个广泛使用的设计语言指南系统,它用于构建漂亮并合理的用户界面,这些界面被广泛应用于Google的产品,如Android和Web系统。

Vuetify框架在一系列Vue组件中实现了Material Design。这允许您使用Material Design布局和样式快速创建Vue应用程序,并在应用程序中实现模态框、提示框、导航栏、分页等页面小控件。

NativeScript-Vue

Vue.js 是一个用于构建Web用户界面的库。如果您想将他用于构建移动应用,您可以使用NativeScript-Vue框架。

NativeScript是一个使用iOS和Android上原生用户界面组件构建应用app的框架,而NativeScript-Vues 是基于NativeScript且支持Vue语法和Vue组件使用的框架。

5. 其他

在最后一部分中,我们将介绍一些重要但不包含在上述分类中的内容。

插件开发

如果您要在项目中重用Vue功能,或为Vue生态做出贡献,您可以把这部分功能打包成插件并发布给其他用户。

插件功能是Vue的一个重要特性,有很多工具和模板可以帮助您创建轻便高效的Vue代码。

动画

动画也是 Vue核心功能的一部分,它允许您在向DOM中添加或删除元素时应用动画。 为了启用一个动画,您可以创建CSS类来定义所需的动画效果,无论是淡入淡出、更改颜色还是任何其他效果。Vue将检测当添加元素和删除元素时,添加或删除您设置相应的类。

渐进式Web应用程序

渐进式Web应用程序(PWA)与普通的Web应用程序类似,但用户体验、性能已经得到了增强,同时还增加了现代功能,例如,PWA包括离线缓存、服务端渲染、通知推送等。

大部分PWA功能可以通过Vue CLI 3插件或主入Nuxt.js之类的框架轻松添加到Vue应用中,但您最好仍然需要去学习其中的关键技术,包括Web应用json清单(minifest)和服务等技术。

以上就是Vue开发指南之重点知识梳理的详细内容,更多关于Vue的资料请关注我们其它相关文章!

(0)

相关推荐

  • vue history 模式打包部署在域名的二级目录的配置指南

    最近在做项目,需要把项目部署在域名下的二级目录,并且是在用vue-router的history 模式. 我们都知道vue-router 的两种前端基本访问模式 hash 和history .hash 模式后面带#,打包的时候只需要把绝对路径(/)换成相对对路径(./),就可以部署在任何地方,不需要服务器配合,但是不好看,所以我们一般选择history 模式,但是history 模式需要配合服务器的部署. 本文主要是在vue-cli3版本下,对部署在域名的二级目录下做四处的配置: 1. vue-r

  • 详解Vue2.5+迁移至Typescript指南

    为什么要迁移至Typescript Javascript本身是动态弱类型的语言,这样的特点导致了Javascript代码中充斥着很多Uncaught TypeError的报错,给开发调试和线上代码稳定都带来了不小的负面影响. 而Typescript提供了静态类型检查,使很多类型错误在编写时就已经发现,不会带到测试阶段. 同时,Javascript不定义model就可以使用一个对象,有人喜欢这样的灵活性,的确这样的语法在model不复杂的时候可以快速的开发出需要的功能,但一旦model庞大,找一个

  • 微信小程序的mpvue框架快速上手指南

    一.什么是mpvue框架? mpvue 是一个使用 Vue.js 开发小程序的前端框架.框架基于 Vue.js 核心(所以建议熟练掌握vue再使用mpvue框架,否则还是建议去使用原生框架去写小程序),mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验. 二.必要的开发基础 ① 熟练掌握vue.js(未曾使用过vue这个框架的话,建议vue的官方文档进行学习:https://cn.vue

  • 详解Vue实战指南之依赖注入(provide/inject)

    案例 UI美眉说咱家的选项菜单太丑了,小哥哥能不能美化一下呀,洒家自然是说小意思啦~ 自定义一个select组件,so easy~ 简单粗暴型: <el-select v-model="favourite" :option="[]"></el-select> option作为数据进来就ok啦. 然后发现下列问题: key-value,不是所有的接口都是id-name option要disabled 怎么办? option存在几种情况怎么办?

  • Vue路由vue-router详细讲解指南

    中文文档:https://router.vuejs.org/zh/ Vue Router 是Vue.js官方的路由管理器.它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌.路由实际上就是可以理解为指向,就是我在页面上点击一个按钮需要跳转到对应的页面,这就是路由跳转: 首先我们来学习三个单词(route,routes,router): route:首先它是个单数,译为路由,即我们可以理解为单个路由或者某一个路由: routes:它是个复数,表示多个的集合才能为复数:即我们可以理解为

  • Vue框架TypeScript装饰器使用指南小结

    前言 装饰器是一种特殊类型的声明,它能够被附加到 类声明,方法, 访问符,属性或参数 上. 装饰器使用 @expression这种形式, expression求值 后必须为一个函数,它会在 运行时被调用 ,被装饰的声明信息做为参数传入. 本篇先从项目的宏观角度来总结一下Decorator如何组织. 目录 主要的Decorator依赖 vue-class-component vuex-class vue-property-decorator core-decorators 自定义Decorator

  • 浅谈Vue3.0新版API之composition-api入坑指南

    关于VUE3.0 由于vue3.0语法跟vue2.x的语法几乎是完全兼容的,本文主要介绍了如何使用composition-api,主要分以下几个方面来讲 使用vite体验vue3.0 composition-api解决了什么问题 语法糖介绍 vite的安装使用 vite仓库地址 https://github.com/vuejs/vite 上面有详细的安装使用教程,按照步骤安装即可 composition-api解决了什么问题 使用传统的option配置方法写组件的时候问题,随着业务复杂度越来越高

  • ant-design-vue 快速避坑指南(推荐)

    ant-design-vue是蚂蚁金服 Ant Design 官方唯一推荐的Vue版UI组件库,它其实是Ant Design的Vue实现,组件的风格与Ant Design保持同步,组件的html结构和css样式也保持一致. 用下来发现它的确称得上为数不多的完整的VUE组件库与开发方案集成项目. 本文主要目的是总结一些开发过程中比较耗时间去查找,文档中没有具体说明的常见问题,同时希望能给新上手此框架的同学提供一些参考作用. 1.Table对接后台返回数据 针对Table数据格式与后他接口返回数据格

  • 详解mpvue中小程序自定义导航组件开发指南

    这篇笔记主要记录一下基于mpvue的小程序中实现自定义导航的思路及应用.分享出来抛砖引玉,如有谬误或优化空间,欢迎交流. 小程序的配置项navigationStyle设置为custom之后,导航栏只保留右上角胶囊按钮,颜色.标题文字内容均可以自定义,可以此实现导航栏的个性化需求,实际应用如沉浸式视频播放页等. 小程序7.0.0之后的版本开始支持自定义单个页面的导航栏,将页面的navigationStyle设置为custom即可.mpvue的配置方式如下: 由于不同操作系统.不同机型的导航栏高度是

  • Vue 3.x+axios跨域方案的踩坑指南

    缘起 最近实验课上需要重构以前写过的一个项目(垃圾堆),需要添加发生邮件提醒的功能,记得以前写过一个PHP版的实现,所以想把PHP写的功能整理成一个服务,然后在前端调用.但是这个项目是JavaWeb,也就是说我需要面对跨域的问题.不过本篇文章,讲的并不是如何解决这样的跨域问题,而是我在找如何解决这个问题的路上遇到的坑. 其实,在前端工程化大行其道的现在,前后端已经分离开来,前端为了提高工作流效率往往自己开一个小型的服务器,就比如webpack.devServer.这样在前端调用后端接口的时候必然

随机推荐