2019年Vue学习路线图-前端开发进阶

若是你是 Vue 开发新手,可能已经听过不少行话术语,好比单页面应用程序、异步组件、服务器端渲染,等等。你可能还据说过与 Vue 有关的一些工具和库,好比 Vuex、Webpack、Vue CLI 和 Nuxt。前端

浸没在术语和工具的浩瀚海洋中不免会使人感到沮丧,但其实并非只有你一我的有这种感觉,全部经验水平的开发人员都会持续感受到这种莫名的压力。react

一口气吃不成胖子,试图一会儿学习全部东西多是徒劳的,因此我将在这篇文章中展现一个高级“知识地图”,它包含了与 Vue 开发相关的关键领域,你可使用这张地图做为 2019 年学习 Vue 的图鉴。设计模式

在开始使用 Vue 以前,你必须了解 JavaScript 和 Web 开发的基础知识。这里强调一点,巩固的基础知识是日后强化技术的基石。浏览器

1. Vue 基本概念缓存

若是你是 Vue 开发新手,应该专一于 Vue.js 生态系统的核心,包括 Vue 核心库、Vue Router 和 Vuex。安全

这些工具将被用在大多数 Vue 应用程序中,并为本文中提到的其余领域提供了一个构建框架。服务器

Vue 核心功能架构

从根本上说,Vue 用于同步网页和 JavaScript。实现这一目标的关键特性是反应式(reactive)数据,以及指令和插值等模板功能。这些东西在一开始就要学习。框架

要构建你的第一个 Vue 应用程序,你还须要知道如何在网页中安装 Vue,并了解 Vue 实例的生命周期。异步

组件

Vue 组件是独立的可重用 UI 元素。你须要了解如何声明组件,以及如何经过 prop 和 event 在它们之间发生交互。

了解如何组合组件也很重要,由于这对使用 Vue 构建健壮、可伸缩的应用程序来讲相当重要。

单页面应用程序

单页面应用程序(SPA)架构经过单个网页实现传统多页面网站同样的功能,并且不会在每次用户触发导航时从新加载和重建页面。

在将“页面”构建为 Vue 组件以后,就可使用 Vue Router 将每一个“页面”映射到一个惟一的路径,Vue Router 是一个用于构建 SPA 的工具,由 Vue 团队维护。

状态管理

随着应用程序变得愈来愈大,SPA 页面中会有不少组件,管理全局状态变得很困难,并且随着 prop 和 event 监听器的增长,组件变得愈来愈臃肿。

一种称为“Flux”的特殊模式能够将数据保存在可预测且稳定的中央存储中。由 Vue 团队维护的 Vuex 库能够帮助你在 Vue.js 应用程序中实现 Flux。

2. 现实世界中的 Vue

以上的知识可用于构建高性能的 Vue 应用程序,但如何将它们部署到生产环境中?

若是你想将基于 Vue.js 的产品发送给真实用户,你还须要了解更多东西!

项目脚手架

若是你常常构建 Vue 应用程序,你会发现几乎每一个项目都须要提供配置、设置和开发者工具。

Vue 团队维护了一个叫做 Vue CLI 的工具,让你能够在几分钟内启动一个强大的 Vue 开发环境。

全栈或认证的应用程序

真实的 Vue 应用程序一般是由数据驱动的用户界面。数据一般来自使用 Node、Laravel、Rails、Django 或其余服务器框架开发的 API。

这些数据多是由传统的 REST API 或 GraphQL 提供的数据,也多是经过 Web 套接字提供的实时数据。

你还须要了解将 Vue 集成到完整技术栈中经常使用设计模式,以及确保 Vue 应用程序用户数据的安全性。

测试

若是你想开发出可维护且稳定的 Vue 应用程序,须要对它们进行测试。

在 Vue 应用程序中,能够经过单元测试来确保你的组件可以为给定输入(即 prop 或用户输入)提供相同的输出(即从新渲染的 HTML 或发出的事件)。

Vue 团队维护了一个叫做 Vue Test Utils 的工具,用于测试单独的 Vue 组件。

优化

当你将应用程序部署到远程服务器而且用户经过慢链接访问它时,它与你在开发环境中测试的速度和效率是不同的。

为了优化 Vue 应用程序,咱们能够采用各类技术,包括服务器端渲染,也就是在服务器端执行 Vue 应用程序,而后输出 HTML 页面并传给用户。

其余优化手段还包括使用异步组件和渲染函数。

3. 关键的相关工具

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

高级 Vue 开发人员不只须要熟悉 Vue,还须要熟悉每一个 Vue 项目的关键工具。

现代 JavaScript 和 Babel

Vue 应用程序可使用 ES5 开发,ES5 是几乎全部浏览器都支持的 JavaScript 标准。

要得到加强的 Vue 开发体验,并利用新的浏览器功能,你可使用最新的 JavaScript 标准 ES2015 和 ES2016 或更高版本提供的功能来构建 Vue 应用程序。

不过,若是你选择使用现代 JavaScript,就须要提供一种支持旧版浏览器的方法,不然你的产品可能没法为大多数用户提供服务。

要实现这一目的,须要使用 Babel。它的做用是在应用程序发布以前将你的现代功能“转换”(翻译和编译)为标准功能。

WebPack

Webpack 是模块捆绑器,若是你的代码跨越了不一样模块(例如不一样的 JavaScript 文件),Webpack 能够将这些零散的代码“构建”到浏览器可读的单个文件中。

Webpack 还能够做为构建管道,你能够在构建代码以前对代码进行转换,例如使用 Babel、Sass 或 TypeScript,还可使用一系列插件来优化你的应用程序。

不少开发人员以为 Webpack 难以掌握,配置起来也很麻烦,但若是没有它,将没法使用 Vue 的一些有用的功能(如单文件组件)。

最近发布的 Vue CLI 3 提供了一种用于在 Vue 项目中抽象和自动配置 Webpack 的解决方案。

这是否意味着你不须要学习 Webpack 了?固然不是,由于你仍然不可避免地须要进行定制或调试 Webpack 配置。

TypeScript

TypeScript 是 JavaScript 语言的超集,为咱们提供了类型(String、Boolean、Number 等),这样咱们就能够编写健壮的代码,并尽早发现错误。

Vue.js 3 将于 2019 年推出,将彻底使用 TypeScript 编写。但这并不意味着你必定要在你的 Vue 项目中使用它,但若是你想要为 Vue 贡献代码,或者想要理解它的内部工做原理,就须要了解 TypeScript。

4. Vue 的框架

构建在 Vue 之上的框架让你无需从头开始实现服务器端渲染,还能够建立本身的组件库以及完成不少其余常见任务。

有不少很好的 Vue 框架,在这里咱们只列出使用最为普遍和最重要的三个框架。

Nuxt.js

若是你想要构建一个高性能的 Vue 应用程序,就须要基于组件的路由、服务器端渲染、代码拆分和其余尖端的功能。你还须要像 SEO 标签这样的功能。

Nuxt.js 经过各类社区插件提供了这些开箱即用的功能,以及更多的功能选项,如 PWA。

Vuetify

谷歌的 Material Design 是一个使用十分普遍的指南,用于构建漂亮的逻辑用户界面,并被用在谷歌的产品(如 Android 和 Web)当中。

Vuetify 在一系列 Vue 组件中实现了 Material Design。所以,你可使用 Material Design 布局和样式快速构建 Vue 应用程序,以及模态、警报、导航栏、分页等小部件。

NativeScript-Vue

Vue.js 是一个用于构建 Web 用户界面的库。若是你想将它用于原生移动界面,可使用 NativeScript-Vue 框架。

NativeScript 是一个用于在 iOS 和 Android 上使用原生用户界面组件构建应用程序的系统,而 NativeScript-Vue 是一个基于 NativeScript 的框架,提供了 Vue 的语法和组件的使用方式。

5. 其余

插件开发

若是要在项目中重用 Vue 功能或为 Vue 生态系统作贡献,能够将功能做为 Vue 插件来开发。

动画

若是你须要使用动画,请了解一下 Vue 的过渡系统,它也是 Vue 核心的一部分。你能够在向 DOM 添加元素或从 DOM 中删除元素时应用动画。

你须要建立 CSS 类来定义所需的动画效果,不管是淡入淡出、更改颜色仍是你喜欢的其余方式。当向 DOM 中添加元素或从 DOM 中删除元素时,Vue 会检测到这些变动,并在过渡期间添加或删除相应的 CSS 类。

渐进式 Web 应用程序

渐进式 Web 应用程序(PWA)就像普通的 Web 应用程序同样,只是加入了改进的用户体验。例如,PWA 可能包括脱机缓存、服务器端渲染、推送通知等。

大多数 PWA 功能能够经过 Vue CLI 3 插件或使用 Nuxt.js 等框架添加到 Vue 应用程序中,但你仍然须要了解一些关键技术,包括 Web App Manifest 和 ServiceWorker。

-

相关文章
相关标签/搜索