vue笔记

88 阅读4分钟

vue 笔记

vue是什么?

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

兼容性

Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器

安装(直接用 script 引入)

完整版

<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.9/vue.min.js"></script>

非完整本

 <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.9/vue.runtime.min.js"></script>

命令行工具 (CLI)

Vue 提供了一个官方的 CLI,为单页面应用 (SPA) 快速搭建繁杂的脚手架。它为现代前端工作流提供了开箱即用的构建设置。只需要几分钟的时间就可以运行起来并带有热重载、保存时 lint 校验,以及生产环境可用的构建版本。更多详情可查阅 Vue CLI 的文档

关于旧版本

Vue CLI 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vue-cli -gyarn global remove vue-cli 卸载它。

Node 版本要求

Vue CLI 4.x 需要 Node.js v8.9 或更高版本 (推荐 v10 以上)。你可以使用 nnvmnvm-windows 在同一台电脑中管理多个 Node 版本。

可以使用下列任一命令安装这个新的包:

npm install -g @vue/cli
# OR
yarn global add @vue/cli

安装之后,你就可以在命令行中访问 vue 命令。你可以通过简单运行 vue,看看是否展示出了一份所有可用命令的帮助信息,来验证它是否安装成功。

你还可以用这个命令来检查其版本是否正确:

vue --version

升级

如需升级全局的 Vue CLI 包,请运行:

npm update -g @vue/cli
# 或者
yarn global upgrade --latest @vue/cli

项目依赖

上面列出来的命令是用于升级全局的 Vue CLI。如需升级项目中的 Vue CLI 相关模块(以 @vue/cli-plugin-vue-cli-plugin- 开头),请在项目目录下运行 vue upgrade

用法: upgrade [options] [plugin-name]

(试用)升级 Vue CLI 服务及插件
选项:
  -t, --to <version>    升级 <plugin-name> 到指定的版本
  -f, --from <version>  跳过本地版本检测,默认插件是从此处指定的版本升级上来
  -r, --registry <url>  使用指定的 registry 地址安装依赖
  --all                 升级所有的插件
  --next                检查插件新版本时,包括 alpha/beta/rc 版本在内
  -h, --help            输出帮助内容

使用vuecli搭建vue项目

安装@vue/cli完成后使用一下命令创建项目

运行
vue create 项目名称
项目创建完成后
cd 到项目目录中
然后运行
yarn serve
出现下面的字样及成功
 App running at:
  - Local:   http://localhost:8080/
  - Network: http://192.168.0.104:8080/

完整版和运行时版本的区别

vue完整版vue非完整本评价
特点有compiler没有compilercompiler占40%体积
视图写在html里或写在template选项里写在render函数里用h来创建标签h是尤雨溪写好传给render函数的
cdn引入vue.jsvue.runtime.js文件名不同,生产环境后缀.min.js
webpack引入需要配置alias默认使用此版本尤雨溪配置的
@vue/cli引入需要额外配置默认使用此版本尤雨溪配置的

最佳实践

总是使用分完整版,然后配合vue-loader和vue文件

  • 保证用户体验,用户下载js体积更小,但只支持h函数
  • 保证开发体验,开发者可以直接 在vue文件中写html,而不写h函数
  • 用vue-loader把vue文件中的html传给h函数

完整版正tmplate的写法

new Vue({
  el: "#app",
  template: `<div>{{ n }}</div>`,
  data: {
    n: 0
  }
})

非完整版中render的写法

import Add from './Add.vue'
new Vue({
  el: '#app',
  render(h) {
    return h('div', [this.n, h('button', { on: { click: this.add } }, '+1')])
  }
  // render(h) {
  //   return h(Add)
  // }
  , data() {
    return {
      n: 0
    }
  },
  methods: {
    add() {
      this.n += 1
    }
  }
})

可以重用 codesandbox.io 快速创建vue项目

  • 点击create Sandbox

微信图片_20220212134421.png

  • 点击创建vue项目

微信图片_20220212134658.png

  • 完成

微信图片_20220212134931.png

  • 导出

微信图片_20220212135447.png