前端培训-中级阶段(33)- Vue介绍,实例

简介: 前端最基础的就是 HTML+CSS+Javascript。掌握了这三门技术就算入门,但也仅仅是入门,现在前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS),本着提升技术水平,打牢基础知识的中心思想,我们开课啦(每周四)。

Vue 简介



Vue (读音 /vjuː/,类似于view) 是一套用于构建用户界面的 渐进式框架 。与其它大型框架不同的是,Vue 被设计为可以 自底向上逐层应用 。


Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与 现代化的工具链 以及各种 支持类库 结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。


Vue 兼容性


Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性 ( Object.defineProperty )


Vue 相关术语


  • 完整版:同时包含 编译器 和 运行时环境 的版本。


  • 编译器:用来将模板字符串编译成为 JavaScript 渲染函数的代码。


  • 运行时:用来创建 Vue 实例、渲染并处理虚拟 DOM 等的代码。基本上就是除去编译器的其它一切。


  • UMD:UMD 版本可以通过 <script> 标签直接用在浏览器中。


  • CommonJS:CommonJS 版本用来配合老的打包工具比如Browserifywebpack 1。这些打包工具的默认文件 (pkg.main) 是只包含运行时的 CommonJS 版本 (vue.runtime.common.js)。


  • ES Module:从 2.6 开始 Vue 会提供两个 ES Modules (ESM) 构建文件:


  • 为打包工具提供的 ESM:为诸如 webpack 2Rollup 提供的现代打包工具。ESM 格式被设计为可以被静态分析,所以打包工具可以利用这一点来进行 “tree-shaking” 并将用不到的代码排除出最终的包。为这些打包工具提供的默认文件 (pkg.module) 是只有运行时的 ES Module 构建 (vue.runtime.esm.js)。


  • 为浏览器提供的 ESM (2.6+):用于在现代浏览器中通过 <script type="module"> 直接导入。


Vue 各个构建版本特性


  1. vue.js 表示完整版本


  1. .runtime 只包含 运行时环境 版本


  1. .min 表示压缩版本


  1. .common 表示 CommonJS 版本


  1. .esm 表示 ES Module (基于 构建工具 使用)


  1. .esm.browser 表示 ES Module (直接用于 浏览器)


完整版 vs runtime版


如果你需要 在客户端编译模板 (比如传入一个字符串给 template 选项,或挂载到一个元素上并以其 DOM 内部的 HTML 作为模板),就将需要加上编译器,即完整版:


// 需要编译器
new Vue({
  template: '<div>{{ hi }}</div>' // 需要解析模板转换为下方代码
})
// 不需要编译器
new Vue({
  render (h) {
    return h('div', this.hi)
  }
})


如果 webpack 想要使用完整版如何配置


因为运行时版本相比完整版体积要小大约 30%,所以应该尽可能使用这个运行时版本。如果仍然希望使用完整版,则需要在 webpack 里配置一个别名:


module.exports = {
  // ...
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.esm.js' // 用 webpack 1 时需用 'vue/dist/vue.common.js'
    }
  }
}


其他打包工具配置


Vue 实例



创建一个 Vue 实例


声明式渲染


Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统。

每个 Vue 应用都是通过用 Vue 函数创建一个新


<div id="app">
  {{ message }}
</div>
var app = new Vue({
  el: '#app',
  data: {
    message: 'www.lilnong.top, Hello Vue!'
  }
})


数据与方法


当一个 Vue 实例被 创建时,会将 data 对象中的所有的属性加入到 Vue 的 响应式系统 中。


当这些属性的值发生改变时,视图将会产生响应,更新为新的值。


实例生命周期钩子


每个 Vue 实例在被创建时都要经过一系列的初始化过程。


例如,需要设置 数据监听、编译模板、将 实例挂载到 DOM 并在 数据变化时更新 DOM 等。


同时在这个过程中也会运行一些叫做 生命周期钩子 的函数,这给了用户在不同阶段添加自己的代码的机会。


  1. beforeCreate 初始化


  1. created 解析模板之前


  1. beforeMount 挂载之前,已解析模板


  1. mounted 已挂载到DOM


  1. beforeupdate data修改之后,更新视图之前


  1. updated 更新视图之后


  1. beforeDestory 销毁之前


  1. destroyed 销毁完成


1460000008926240.webp.jpg

相关文章
|
6天前
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
58 41
|
4天前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
28 4
|
8天前
|
JavaScript 前端开发 API
Vue.js:打造高效前端应用的最佳选择
【10月更文挑战第9天】Vue.js:打造高效前端应用的最佳选择
11 2
|
9天前
|
JavaScript 前端开发 Java
VUE学习四:前端模块化,ES6和ES5如何实现模块化
这篇文章介绍了前端模块化的概念,以及如何在ES6和ES5中实现模块化,包括ES6模块化的基本用法、默认导出与混合导出、重命名export和import,以及ES6之前如何通过函数闭包和CommonJS规范实现模块化。
28 0
VUE学习四:前端模块化,ES6和ES5如何实现模块化
|
5天前
|
JSON 前端开发 JavaScript
Vue微前端新探:iframe优雅升级,扬长避短,重获新生
Vue微前端新探:iframe优雅升级,扬长避短,重获新生
27 0
|
5天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
35 0
|
5天前
|
JavaScript 前端开发 应用服务中间件
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
13 0
|
6天前
|
监控 JavaScript 前端开发
深入了解Vue.js:构建现代前端应用的利器
【10月更文挑战第11天】深入了解Vue.js:构建现代前端应用的利器
10 0
|
6天前
|
JavaScript 前端开发
前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信
前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信
|
9天前
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
145 0