vite是類似webpack的前端構建工具,基於瀏覽器 ES module ,優點:
- 快速的冷啟動
- 即時的模塊熱更新
- 真正的按需編譯
首先全局安裝create-vite-app
npm install create-vite-app -g
創建項目
cva vue3 // 或者 npx create-vite-app vue3
安裝依賴以及啟動、打包命令
cd vue3 npm install npm run dev npm run build
引入vue-router4.0
npm install vue-router@4
src目錄下新建router/index.js
index.js:
import { createRouter, createWebHistory } from 'vue-router'
import HelloWorld from '../components/HelloWorld.vue'
const routerHistory = createWebHistory()
// createWebHashHistory hash 路由
// createWebHistory history 路由
// createMemoryHistory 帶緩存 history 路由
const router = createRouter({
history: routerHistory,
routes: [
{
path: '/',
component: HelloWorld
},
]
})
export default router
main.js:
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'
import router from './router'
const app = createApp(App)
app.use(router)
app.mount('#app')
// createApp(App).mount('#app')
app.vue:
<template> <router-view></router-view> </template> <script> export default { name: 'App', } </script>
引入vuex4.0
npm install vuex@next --save
src目錄下新建store/index.js
index.js:
import { createStore } from 'vuex'
const store = createStore({
state: {
userInfo: {
name:'myName'
}
},
mutations: {
getUserInfo (state, name) {
state.userInfo.name = name
}
},
actions: {
asyncGetUserInfo ({ commit }) {
setTimeout(() => {
commit("getUserInfo", +new Date() + 'action')
},2000)
}
},
getters: {
userInfoGetter (state) {
return state.userInfo.name
}
}
})
export default store
main.js:
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'
import router from './router'
import store from './store'
const app = createApp(App)
app.use(router)
app.use(store)
app.mount('#app')
// createApp(App).use(router).use(store).mount('#app')
前端交流群,群文件提供大量文檔、書籍和資料。期待你的加入!群號:127768464
