diff --git a/package.json b/package.json index 6944891cecfdf29b1e944392f914bf98919fcdb0..1935bf002087aa8f87d4d69c254660d31711a860 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ "dependencies": { "element-plus": "^2.5.6", "guess": "^1.0.2", - "vue": "^3.2.37" + "pinia": "^2.1.7", + "vue": "^3.2.37", + "vue-router": "^4.3.0" }, "devDependencies": { "@vitejs/plugin-vue": "^3.0.1", diff --git a/src/App.vue b/src/App.vue index 633a5dfe4e547c48bfa93740a290ba5ba370930a..e864195002371619c22d0454351235745b2a4f3f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,25 +1,29 @@ diff --git a/src/main.js b/src/main.js index 90e6400b4d8ad8aba0c1caa53874eb4b81380648..5dcad83c30800a564e96bad81c93d6be2ffaceaa 100644 --- a/src/main.js +++ b/src/main.js @@ -1,6 +1,14 @@ +import './assets/main.css' + import { createApp } from 'vue' +import { createPinia } from 'pinia' + import App from './App.vue' +import router from './router' -import './assets/main.css' +const app = createApp(App) + +app.use(createPinia()) +app.use(router) -createApp(App).mount('#app') +app.mount('#app') diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000000000000000000000000000000000000..6114818a88b41ac48d97d9cb25241e7128c5cd33 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,23 @@ +import { createRouter, createWebHistory } from 'vue-router' +import HomeView from '../views/HomeView.vue' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + component: HomeView + }, + { + path: '/about', + name: 'about', + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('../views/AboutView.vue') + } + ] +}) + +export default router diff --git a/src/stores/counter.js b/src/stores/counter.js new file mode 100644 index 0000000000000000000000000000000000000000..89bc87902804580061750f907d0b8eb763341e69 --- /dev/null +++ b/src/stores/counter.js @@ -0,0 +1,12 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useCounterStore = defineStore('counter', () => { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue new file mode 100644 index 0000000000000000000000000000000000000000..6ed9f76b7b066509908906f2c82dd03d0627b753 --- /dev/null +++ b/src/views/AboutView.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue new file mode 100644 index 0000000000000000000000000000000000000000..0ba7c74e5f2c635f659a1ca560e43caf21b9b618 --- /dev/null +++ b/src/views/HomeView.vue @@ -0,0 +1,9 @@ + + + diff --git a/vite.config.js b/vite.config.js index 4ad898dec614e030adad5e4f80523145bce56245..4d9f38e480aec8991479dec23b9743317a9179de 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,10 +1,28 @@ +// import { defineConfig } from 'vite' +// import vue from '@vitejs/plugin-vue' + +// // https://vitejs.dev/config/ +// export default defineConfig({ +// server: { +// host: true +// }, +// plugins: [vue()] +// }) + + +import { fileURLToPath, URL } from 'node:url' + import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ - server: { - host: true - }, - plugins: [vue()] + plugins: [ + vue(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + } + } })