vue3x相对于2x常用的写法变化整理

以下关于vue3x项目创建到启动的一些变化,供大家参考,如果您准备使用3x版本作为项目开发,相关配置建议您升级到更高的版本,比如:

  • 在3x版本中如果您使用element-ui,建议您选择element-plus,这是专门为vue3x定制的版本
  • vue-router建议您升级到4.0版本以上,更好的兼容vue3x
  • vuex建议您升级到4.0版本以上,更好的兼容vue3x
  • 若您想在项目中使用sass,建议您安装sass和sass-loader即可,sass-loader版本建议在10.1.1版本,这样才能更好的兼容vue3x
/*安装element-plus*/
cnpm install element-plus -S
/*安装路由4.0版本以上*/
npm install vue-router@4
/*安装vuex4.0版本以上*/
npm install vuex@4
/*安装sass和sass-loader*/
npm install sass sass-loader@10.1.1

1、安装区别

/*2x vue项目脚手架安装方法*/
vue int webpack projectName

/*3x vue项目脚手架安装方法*/
vue create projectName

2、项目挂载区别

/*2x main.js挂载*/
import Vue from 'vue'
import App from './App.vue'
new Vue({
  render: h => h(App)
}).$mount('#app')

/*3x main.js挂载*/
import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')

3、插件挂载和全局注册使用区别

/*2x 插件挂载和全局注册使用*/
import Vue from 'vue'
import App from './App.vue'
Vue.use(ElementUI, axios,animated)
/*2x注册全局插件使用prototype*/
Vue.prototype.$echarts = echarts
new Vue({
  render: h => h(App)
}).$mount('#app')

/*3x 插件挂载和全局注册使用*/
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
/*3x注册全局插件使用app.config.globalProperties*/
app.config.globalProperties.$echarts = echarts
app.use(ElementPlus,{locale})
app.use(router)
app.use(store)
app.mount('#app')

下面图片是vue2x和vue3x再项目挂载和插件使用上得一些api的变动
在这里插入图片描述

*4、路由注册创建区别

/*2x 路由注册创建*/
import Vue from 'vue'
import VueRouter from 'vue-router'
/*RouterPage 是我自己的路由管理文件*/
import RouterPage from './RouterPage/'
Vue.use(VueRouter)
const router = new VueRouter({
  mode: 'hash',
  base: process.env.BASE_URL,
})
router.addRoutes([...RouterPage]);
export default router

/*3x 路由注册创建*/
import {createRouter,createWebHistory,createWebHashHistory} from  'vue-router'
import RoutersPage from '@/router/RouterPage/index'
import RouterBase from '@/router/RouterPage/base'
const router = createRouter({
  history:createWebHashHistory(),
  scrollBehavior: () => ({ y: 0 }),
  routes:[...RoutersPage,...RouterBase]
})
export default router

下面的图片是vue-router的3x和4x版本的api对应变化
在这里插入图片描述

5、vuex创建区别

/*2x vuex创建*/
import Vue from 'vue'
import Vuex from 'vuex'
export default new Vuex.Store({
  state: {},
  mutations: {},
  actions: {},
  modules: {}
})

/*3x vuex创建*/
import { createStore } from "vuex";
export default createStore({
  state: {},
  mutations: {},
  actions: {},
  modules: {}
})

项目创建配置到启动基本涉及这些需要注意的点,但是在使用过程中也有很多变化,比如:
在3x版本中如果 v-ifv-for 同时使用 v-if 的优先级永远是最高的,再比如:访问子组件的 this.$children方法被取消等等,这些在项目开发中经常用到,如果您有兴趣可以移步与官网更深入的学习,vue3x学习

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只熊的北极

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值