Vue 的介绍与安装,前端性能优化最佳实践

  • 2.2 MVVM 模式

  • 三、Vue 的渐进式

  • 四、Vue 初体验

  • 五、Vue 安装

  • 六、独立版本方式

  • 七、使用 NPM 方式

  • 总结


前言

=====================================================================

本文主要讲解 Vue 的介绍及安装进行简单讲解,要明确什么是渐进式 JavaScript 框架。

一、Vue 简介

===========================================================================

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

——该段文字描述来自官网。

按照官网所说,Vue.js 是一个渐进式框架。所谓的渐进式是指可以一步一步的自底层向上阶段性的使用 Vue.js,不必一开始就将整个 Vue.js 框架所有技能点都学会,可以用一部分就学一部分。这正是 Vue.js 易于上手的关键所在,也是开发者喜欢 Vue.js 的一个重要原因。

另外 Vue.js 和其他的前端框架有很好的兼容性,这就解决了多个前端框架共用于一个项目的问题,同时便于项目整合和原有项目的升级。

最后 Vue.js 为 Web 开发提供了强大的驱动支持,让 Web 开发变得更加简单。使用 Vue.js 可以轻松地实现 Web 前端开发中常见的高级功能。例如:解耦视图和数据、前端路由、状态控制、模块开发、虚拟 DOM 等。

总之,Vue.js 是一个优秀的 MVVM 模式框架。

二、MVVM 模式和 MVC 模式

====================================================================================

2.1 MVC 模式


  • MVC(Model View Controller)是一种软件设计模式,是模型(Model)— 视图(View)— 控制器(Controller)的缩写。这种设计模式将软件分为三个独立的业务模型:

  • Model(模型):是程序中用于处理数据逻辑的部分。模型对象负责在数据库中存取数据;

  • View(视图):是程序中处理数据显示的部分。通常视图是依据模型数据创建的;

  • Controller(控制器):是程序中处理用户交互的部分。控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

斯坦福大学公开课上的这幅图是最经典和最规范的 MVC 标准。见下图:

在这里插入图片描述

可以用一句话来描述三者之间的关系,“ Controller 负责将 Model 的数据用 View 显示出来”,换句话说,就是在 Controller 里面把 Model 的数据赋值给 View 。

因为 MVC 模式出现的时间比较早,在 MVC 模式比较流行的时候前端技术还不成熟,此时很多业务逻辑代码都是在服务器端实现,因此对前端技术而言并没有真正意义上的 MVC 模式。近些年随着前端技术的发展和流行才出现了新的 MVVM 模式。

2.2 MVVM 模式


MVVM 是 Model-View-ViewModel 的简写,其本质就是 MVC 的改进版。但是需要注意的是,ViewModel 层并非是 Controller 层的替代,实际上 ViewModel 存在的目的在于抽离 Controller 层中用于展示的业务逻辑,其他视图操作的业务逻辑还是放在 Controller 层中实现。也就是说 MVVM 实现的是业务逻辑组件的部分重用。

正如前文讲解 MVC 是如何分配工作一样,早期的程序设计过程中,开发者需要存储数据所以有了 Model 层,开发者需要 UI 界面所以有了 View 层,开发者需要有一个地方把 Model 中的数据在 View 中显示所以有了 Controller 层,Controller 层负责的业务逻辑实现。

一方面,在过去的十几年中随着前端技术的发展,开发者已经将越来越多用于展示的业务逻辑代码由服务器端移植到前端中实现,这些代码写在前端,使得前端的控制层代码变得非常臃肿,代码的维护工作变得异常困难。另一方面,当年为了解决浏览器兼容性问题出现了很多类库, 如 Prototype、jQuery 等,但是这些类库并没有实现控制层用于描述业务逻辑的功能。

综合以上两方面原因,才有了 MVVM 模式框架的出现,其中比较著名的有:Angular.js、 React.js、Vue.js。这些框架的出现极大提高了前端开发的效率。

MVVM 模式的核心是“将 View 的状态和行为抽象化,将视图 UI 和业务逻辑分离开”,这些工作由 ViewModel 模块来实现。ViewModel 可以取出 Model 中的数据,还可以处理 View 中因展示内容而涉及的业务逻辑。

MVVM 模式的结构如下图所示。

在这里插入图片描述

Vue.js 框架在设计上使用的 MVVM 模式,对应框架各部分的功能如下:

  • Model:JavaScript 中存储的数据,如对象、数组等。

  • View:页面视图展示部分,和 HTML、CSS 相关。

  • ViewModel:业务逻辑处理,比如 AJAX 请求等。

三、Vue 的渐进式

=============================================================================

本节将通过三个场景详细描述 Vue.js 框架渐进式的含义。

  1. 现有一个项目已经存在一个现成的服务端应用,开发者可以将 Vue.js 作为前端开发工具嵌入到该项目当中,这样就可以使该项目具有更加丰富的交互体验;

  2. 如果开发者希望将更多业务逻辑放到前端中实现,那么 Vue.js 的核心库及其生态系统也可以满足这些需求(Core+Vuex+Vue-router)。同时和其它前端框架一样,Vue.js 允许开发者将一个网页分割成可复用的组件,每个组件都包含属于自己的 HTML、CSS、JavaScript 以用来渲染网页中相应的地方;

  3. 如果想要构建一个大型的应用,则需要将一个完整的功能分割成各自独立的组件,Vue.js 提供了一个命令行工具,使快速初始化一个多组件工程变得非常简单(vue init webpack my-project)。

以上这三个例子,是逐层递进的,也就是说对 Vue.js 的使用可大可小,不论需求如何它都会有相应的方式整合到项目当中,所以说它是一个渐进式的框架。

四、Vue 初体验

============================================================================

下面体检一下如何使用 Vue.js 开发项目,按照传统先写一个 “Hello World”。

首先新建一个 HTML 文件,在文件中引入 Vue.js 的支持。

或者这样引入:

Vue.js 有多种安装方式。不推荐新手直接使用 vue-cli 来完成安装,特别是在还不了解基于 Node.js 的构建工具时。Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统,代码如下:

Title

{{ message }}

变量 app 代表了一个 Vue 实例,在开发的过程中涉及到的所有代码都是一个对象,这些对象将被写入 Vue 实例中。其中必不可少的一个属性为 el 属性,该属性是 Vue 实例对象的第一个属性,作用是指定页面中一个已经存在的 DOM 元素来挂载 Vue 实例。挂载成功后就可以在实例中定义 data 数据和 methods 等属性,然后再通过各种指令等操作实现数据的双向绑定。上面示例代码的显示效果如下:

请添加图片描述

五、Vue 安装

===========================================================================

Vue 的安装有两种方式:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

文末

js前端的重头戏,值得花大部分时间学习。

JavaScript知识

推荐通过书籍学习,《 JavaScript 高级程序设计(第 4 版)》你值得拥有。整本书内容质量都很高,尤其是前十章语言基础部分,建议多读几遍。

前端电子书

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

另外,大推一个网上教程 现代 JavaScript 教程 ,文章深入浅出,很容易理解,上面的内容几乎都是重点,而且充分发挥了网上教程的时效性和资料链接。

学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。

面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。

这是288页的前端面试题

](https://i-blog.csdnimg.cn/blog_migrate/d8f71f5187e8a1c2968b43796e7ddc7f.png)

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

另外,大推一个网上教程 现代 JavaScript 教程 ,文章深入浅出,很容易理解,上面的内容几乎都是重点,而且充分发挥了网上教程的时效性和资料链接。

学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。

面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。

这是288页的前端面试题

288页面试题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值