使用vite创建vue3项目,完整项目(路由,vuex,setup,element-plus的使用)
1.创建vue3项目
2.安装路由(根据官网安装element-plus。main.js中配置:官网地址:https://element-plus.gitee.io/zh-CN/guide/installation.html#%E4%BD%BF%E7%94%A8%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8)
npm install vue-router@4
安装element-plus
npm install element-plus --save
main.js中配置
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import router from './router/index'
import App from './App.vue'
const app= createApp(App)
app.use(ElementPlus)
app.use(router)
app.mount('#app')
3.新建视图
4.test1.vue 内容
5..test2.vue 内容
6.创建路由配置文件,布局文件
6.1路由index.js内容
import {createRouter, createWebHistory} from 'vue-router'
import layout from '../layout/index.vue'
const routes = [
{
path: '/',
name: '/',
component:layout,
redirect: '/test1',
children: [ { name: 'test1', path: '/test1', title: '首页', component: () => import('../views/test1.vue') }, { name: 'test2', path: '/test2', title: '详情', component: () => import('../views/test2.vue') }, ] }, ]; const router = createRouter({ history: createWebHistory(), routes }) export default router
6.2 routes.js内容
const routes = [ { name: 'test1', path: '/test1', component: () => import('@/view/test1.vue') }, { name: 'test2', path: '/test2', component: () => import('@/view/test2.vue') }, ]; export default routes
6.3 layout index.vue内容(vue3不在使用this)
test1 test2 Footer
7.app中配置路由视图
效果如下
8.安装vuex4
npm install vue-router@4
创建vuex文件
8.1main.js配置
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import store from './store'
import router from './router/index'
import App from './App.vue'
const app= createApp(App)
app.use(ElementPlus)
app.use(store)
app.use(router)
app.mount('#app')
8.2.store index.js下内容
import { createStore } from 'vuex'
import text from './modules/text'
import getters from './getters'
export default createStore({
modules: {
text,
},
getters
})
8.3.getters.js内容
const getters = { text: state => state.text.text, } export default getters
8.4.text.js内容
const state = { text:'我为你许了一个愿。' } const mutations = { SET_TEXT:(state,text)=>{ state.text = text; } } const actions = { } export default{ state, mutations, actions }
8.5视图中配置(我用的前面创建的test1 视图)
你看天边有流星划过 {{text}}
效果如下