vue3和vue2区别

如果是2开头说明当前使用的是vue-cli2,3开头的话就是vue-cli4

查看版本:

vue --version


如果无法识别vue命令说明没有安装vue-cli,使用以下说明进行安装
安装3.0版本:

npm install -g vue-cli

安装3.0版本:

npm install -g @vue/cli

版本切换,即卸载当前版本,安装另外的版本
从2.0升级到3.0:

npm uninstall -g vue-cli
npm install -g @vue/cli

从3.0降到2.0:

npm uninstall -g @vue/cli

npm install -g vue-cli

vue3.0 的发布与 vue2.0 相比,优势主要体现在:更快、更小、更易维护、更易于原生、让开发者更轻松;更快
  1、virtual DOM 完全重写,mounting & patching 提速 100%;
  2、更多编译时 (compile-time)提醒以减少 runtime 开销;
  3、基于 Proxy 观察者机制以满足全语言覆盖以及更好的性能;
  4、放弃 Object.defineProperty ,使用更快的原生 Proxy;
  5、组件实例初始化速度提高 100%;
  6、提速一倍/内存使用降低一半;

更小
  1、Tree-shaking 更友好;
  2、新的 core runtime:~ 10kb gzipped;

 1. v-model语法糖废弃,改用 modelValue



2.弃用全局API new Vue ,使用 createApp

const app = Vue.createApp({})

3.弃用Vue.prototype,在Vue3中,我们可以使用如下定义方式

const app = Vue.createApp({})
app.config.globalProperties.$http = () => {}

4.全局方法现在全部在app实例上,例如:

`app.directive`,`app.use`等

5.现在你需要手动挂载根节点

app.mount("#app")

6.不能再使用Vue.nextTick/this.$nextTick,Vue3中你可以用:

import { nextTick } from 'vue'
nextTick(() => {
  // something
})

7.Vue3允许template设置key

8.正式弃用scopedSlots正式弃用,旧的不去新的不来。

9.监听数组变化需要使用deep属性,否则只能监听到整个数组被替换。

10.弃用$children,访问子组件可以使用$ref

你可能感兴趣的:(vue.js,npm,javascript)