简介

本节将带领大家了解 Vue.js 是一个什么样的前端框架,与其他框架的区别以及它的特点,怎么去安装使用它。

知识点

  • Vue 与其他框架的对比及特点
  • 安装 Vue 的方法
  • node 的安装
  • vue-cli 的安装
  • Vue 开发者工具的安装
  • Vue 创建实例
  • Vue 数据的双向绑定及响应式

官网

Vue.js

Vue.js 是什么

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。<信息来源:vue 官网>

作者

尤雨溪毕业于上海复旦附中,在美国完成大学学业,本科毕业于上 Colgate University,后在 Parsons 设计学院获得 Design & Technology 艺术硕士学位,任职于纽约 Google Creative Lab。<信息来源:百度百科>

作用

Vue.js 框架的作用主要注重动态的构建用户界面,前端工程化和模块化开发。

Vue 与其他框架的对比

框架 设计模式 数据绑定 灵活度 文件模式 复杂性 学习曲线 生态
Vue MVVM 双向 灵活 单文件 完善
React MVC 单向 较灵活 all in js 丰富
Angular MVC 双向 固定 多文件 较大 较陡(Typescript) 独立

更多对比细节:vue 官网:https://cn.vuejs.org/v2/guide/comparison.html

Vue 是一个推陈出新的前端框架,吸收了很多前端框架的优点。例如,Vue 借鉴了 React 的组件化和虚拟 DOM ,借鉴了 Angular 的模块化和数据绑定。因此,我们以 Vue.js 作为入手,以后深入学习其他框架,你会发现他们的共通之处,更好地高效地学习。

选择 Vue.js 的更多原因是,就框架的 API 而言,对比之下,Vue 更加轻便简洁。Vue 自身拥有开箱即用的生态开发包(Vuex,Vue-Router)等,复杂性低、学习成本低,是一门比较好入门的前端框架。

如果你刚开始学习前端开发,将框架作为你的第一步可能不是最好的选择,推荐进入实验楼前端基础知识课程。假入你已掌握了关于HTMLCSSJavaScript的中级知识,那让我们进入 Vue 的学习吧!

安装

<script>标签引入

标签引入模式,和平常引入JQuery一样,直接下载并用<script>标签引入

下载地址:https://vuejs.org/js/vue.js

  1. <script src="js/vue.min.js"></script>

CDN引入

不用下载到本地,即引即用,学习推荐使用这种模式:

推荐 2 个较稳定的 cdn,以下任选其一

  1. <script src="https://cdn.bootcss.com/vue/2.6.6/vue.min.js"></script>
  2. <script src="https://cdn.jsdelivr.net/npm/vue"></script>

由于非会员用户无法访问外网,所以后续的代码中,统一使用引用链接为https://labfile.oss.aliyuncs.com/courses/1262/vue.min.js

脚手架工具

由于安装需要使用到外网,非会员用户不能访问外网。所以实验楼提供的在线环境已经安装好了所需工具,可以直接使用。步骤 1、2、3 可以直接略过。

1、vue-cli是基于npm的,所以应该先安装node环境,通过node官网:http://nodejs.cn/下载系统对应的node安装程序。

Vue 简介与安装使用 - 图1

注意: NPM 是随同 Node.js 一起安装的包管理工具。因此当我们安装好 Node.js 的时候,也安装好了 NPM。由于实验楼的环境下已经安装好了 Node.js,大家可以直接使用,实验楼环境中跳过安装 Node 步骤,直接进行第二步。

Vue 简介与安装使用 - 图2

2、node安装完毕使用,npm包管理工具全局安装vue-cli

  1. npm install -g vue-cli

Vue 简介与安装使用 - 图3

3、命令行输入vue,出现 Usage 表示安装成功。

Vue 简介与安装使用 - 图4

4、使用指令生成一个 vue 应用

  1. vue init webpack sylApp # sylApp 这里是项目名AppName

Vue 简介与安装使用 - 图5

参考上图在命令行中输入对应的内容。

5、命令行进入刚刚创建的 app 的文件夹内,输入npm run start将 vue 应用运行起来

  1. cd sylApp
  2. npm run start

Vue 简介与安装使用 - 图6

6、成功执行命令行后,我们打开浏览器输入http://localhost:8080,即可看到一个vue 应用。

Vue 简介与安装使用 - 图7

这是正常的操作流程,由于实验楼环境特殊,使用该方法需要额外的配置,我们需要修改一些文件:打开 sylApp/build/webpack.dev.conf.js,修改devServer选项下的 host 配置代码为host: HOST || '0.0.0.0', 在 devServer 中添加disableHostCheck:true,,修改成下图,所示

Vue 简介与安装使用 - 图8

接着我们重复第五步的步骤,构建成功后,我们打开工具中的 Web 服务:

Vue 简介与安装使用 - 图9

vue 开发者工具安装

注意: 由于实验楼环境使用的是 Preview 或 Mini Browser 是一个轻量级的浏览器,不支持插件安装,如需安装,请在自己的电脑上对应安装。

在使用 Vue 时,我们推荐在你的浏览器上安装Vue Devtools。它允许你在一个更友好的界面中审查和调试 Vue 应用。

1、下载对应浏览器的 Vue Devtools

2、打开浏览器,打开设置>开发工具>扩展程序,将下载好的 Vue Devtools 拖到界面中,即可完成安装(谷歌浏览器为例)。

Vue 简介与安装使用 - 图10

3、你就可以在浏览器中轻松调试你的 vue 应用

Vue 简介与安装使用 - 图11

更多安装方式

其他安装方式请参考:官网教程

使用

根据上面的安装教程,初学者不推荐采用 vue-cli 的方式,因为你可能对 npm 包管理工具不太了解,推荐大家使用<script>引入或者 cdn 引入的方法,后续教程也将采用 cdn 引入这种方式,那么我们开始创建第一个 Vue 应用。

创建第一个实例

每个 Vue 应用都是通过用Vue函数创建一个新的 Vue 实例 开始的:

  1. var app = new Vue({
  2. // 选项
  3. });

由于实验楼使用是 WebIDE 的在线环境,所以有不熟悉对同学请阅读下:实验楼 WebIDE 使用指南前端开发部分的内容。

Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统,我们新建一个.html 后缀的文件,输入以下代码,运行(右击文件 > open with > Preview 或 Mini Browser),你就会看到 {{msg}} 被渲染成 hello

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  7. <title>syl-vue-test</title>
  8. <!-- 通过cdn方式引入 vue.js -->
  9. <script src="https://labfile.oss.aliyuncs.com/courses/1262/vue.min.js"></script>
  10. </head>
  11. <body>
  12. <div id="app">{{msg}}</div>
  13. <script>
  14. var app = new Vue({
  15. el: "#app", //dom挂载点
  16. data: {
  17. //数据项
  18. msg: "hello syl",
  19. },
  20. });
  21. </script>
  22. </body>
  23. </html>

运行效果:
Vue 简介与安装使用 - 图12

说明: el 为实例挂载点,上面表示挂载在 id 为 app 的 dom 元素中。data 选项为数据选项,存放绑定数据。除了这两个之外还有实例选项,methods(实例方法)、computed(计算属性) 等,后面我们会学习到。

理解 Vue 的 MVVM 模式

Vue 简介与安装使用 - 图13

M:Model 即数据逻辑处理

V:View 即视图(用户界面)

VM:ViewModel 即数据视图,用于监听更新,View 与 Model 数据的双向绑定

所以,Vue 一大特点就是数据双向绑定,另一大特点就是响应式,接下来,我们来看看他的魅力。

数据双向绑定

在 Vue 中数据双向绑定随处可见,最常见的是表单数据中的双向绑定,例如:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  7. <title>syl-vue</title>
  8. <!-- 通过cdn方式引入 vue.js -->
  9. <script src="https://labfile.oss.aliyuncs.com/courses/1262/vue.min.js"></script>
  10. </head>
  11. <body>
  12. <!-- 数据双向绑定 -->
  13. <div id="app">
  14. <input type="text" v-model="msg" />
  15. <p>{{msg}}</p>
  16. </div>
  17. <script>
  18. var app = new Vue({
  19. el: "#app", //el: 挂载点
  20. data: {
  21. //data:数据选项
  22. msg: "hello",
  23. },
  24. });
  25. </script>
  26. </body>
  27. </html>

在我们对文本框输入值时,实例 data 中的 msg 值也随之变化。运行效果:
Vue 简介与安装使用 - 图14

感受响应式

上面我们了解到 Vue 是一个 MVVM 架构的框架,成功创建了一个 Vue 应用!看起来这跟渲染一个字符串模板非常类似,但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被建立了关联,所有东西都是 响应式的。我们可以看看他是不是响应式的,打开你的浏览器的 JavaScript 控制台 (就在这个页面打开),并修改app.msg的值,你将看到上例相应地更新,更改数据也触发视图的相应更新。

注:由于实验楼环境特殊,上述操作需要在自己电脑上的浏览器中完成。

Vue 简介与安装使用 - 图15

总结

我们学习了以下内容:

  • Vue 与其他框架的对比及特点
  • 安装 Vue 的方法
  • node 的安装
  • vue-cli 的安装
  • Vue 开发者工具的安装
  • Vue 创建实例
  • Vue 数据的双向绑定及响应式

本节内容让我们掌握了 vue 的基础安装,以及怎么样去实例化第一个 vue 应用,需要自己亲手去写代码,初步感受一下 vue 的神奇之处。