vite+vue3.0+vue-router+vuex快速搭建項目


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM