前端培训-中级阶段(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

相关文章
|
20天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
20天前
|
前端开发 JavaScript 数据管理
React与Vue:两大前端框架的较量与选择策略
【10月更文挑战第23天】React与Vue:两大前端框架的较量与选择策略
|
25天前
|
JavaScript 前端开发 算法
前端优化之超大数组更新:深入分析Vue/React/Svelte的更新渲染策略
本文对比了 Vue、React 和 Svelte 在数组渲染方面的实现方式和优缺点,探讨了它们与直接操作 DOM 的差异及 Web Components 的实现方式。Vue 通过响应式系统自动管理数据变化,React 利用虚拟 DOM 和 `diffing` 算法优化更新,Svelte 通过编译时优化提升性能。文章还介绍了数组更新的优化策略,如使用 `key`、分片渲染、虚拟滚动等,帮助开发者在处理大型数组时提升性能。总结指出,选择合适的框架应根据项目复杂度和性能需求来决定。
|
1月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
89 4
|
20天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】 React与Vue:前端框架的巅峰对决与选择策略
|
27天前
|
前端开发 JavaScript API
2025年前端框架是该选vue还是react?有了大模型-例如通义灵码辅助编码,就不用纠结了!vue用的多选react,react用的多选vue
本文比较了Vue和React两大前端框架,从状态管理、数据流、依赖注入、组件管理等方面进行了详细对比。当前版本和下载量数据显示React更为流行,但Vue在国内用户量增长迅速。Vue 3通过组合式API提供了更灵活的状态管理和组件逻辑复用,适合中小型项目;React则更适合大型项目和复杂交互逻辑。文章还给出了选型建议,强调了多框架学习的重要性,认为技术问题已不再是选型的关键,熟悉各框架的最佳实践更为重要。
|
1月前
|
JSON 前端开发 JavaScript
Vue微前端新探:iframe优雅升级,扬长避短,重获新生
Vue微前端新探:iframe优雅升级,扬长避短,重获新生
103 0
|
1月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
141 0
|
1月前
|
JavaScript 前端开发 应用服务中间件
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
26 0
|
1月前
|
监控 JavaScript 前端开发
深入了解Vue.js:构建现代前端应用的利器
【10月更文挑战第11天】深入了解Vue.js:构建现代前端应用的利器
15 0