使用vue3已经成为趋势,今天我们就来初识一些vue3,比较vue2和vue3的存在的一些区别
(1)创建实例化的区别:vue3的风格是按需导入
vue2中实例化vue
new Vue({
router,
store,
render:h=>h(APP)
})
vue3中实例化vue
import { createApp } from 'vue'
// 导入根组件
import App from './App.vue'
// 支持前端路由
import router from './router'
// 支持vuex状态管理
import store from './store'
createApp(App).use(store).use(router).mount('#app')
(2)路由模块分析:
vue2中路由配置
import VueRouter from 'vue-router'
const routes=[
{path:'/',component:Home}
]
const router = new VueRouter({
mode:'hash/history',
routes:routes
})
export default router
vue3中路由配置
import { createRouter, createWebHashHistory } from 'vue-router'
import Home from '../views/Home.vue'
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
}
]
const router = createRouter({
history: createWebHashHistory(),
routes
})
export default router
总结:1、创建路由实例对象采用createRouter方法,Vue3的典型风格
2、采用hash和history的方式有变化
Vue2采用mode选项,hash/history
Vue3采用方法,createWebHsahHistory()/createWebHistory()
(3)vuex分析:
vue2中vuex配置
// Vue2中创建store对象
import Vuex from 'vuex'
export default new Vuex.Store({
state: {
},
mutations: {
},
actions: {
},
modules: {
}
})
vue3中vuex配置
import { createStore } from 'vuex'
export default createStore({
state: {
},
mutations: {
},
actions: {
},
modules: {
}
总结:创建store对象采用createStore方法,而不是new