提交 c005f41c 编写于 作者: W weixin_46115723

Wed Mar 13 14:35:00 CST 2024 inscode

上级 96a7bf84
...@@ -9,7 +9,9 @@ ...@@ -9,7 +9,9 @@
"dependencies": { "dependencies": {
"element-plus": "^2.5.6", "element-plus": "^2.5.6",
"guess": "^1.0.2", "guess": "^1.0.2",
"vue": "^3.2.37" "pinia": "^2.1.7",
"vue": "^3.2.37",
"vue-router": "^4.3.0"
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-vue": "^3.0.1", "@vitejs/plugin-vue": "^3.0.1",
......
<script setup> <script setup>
import { RouterLink, RouterView } from 'vue-router'
import HelloWorld from './components/HelloWorld.vue' import HelloWorld from './components/HelloWorld.vue'
import TheWelcome from './components/TheWelcome.vue'
</script> </script>
<template> <template>
<header> <header>
<img alt="Vue logo" class="logo" src="./assets/logo.svg" width="125" height="125" /> <img alt="Vue logo" class="logo" src="@/assets/logo.svg" width="125" height="125" />
<div class="wrapper"> <div class="wrapper">
<HelloWorld msg="You did it!" /> <HelloWorld msg="You did it!" />
<nav>
<RouterLink to="/">Home</RouterLink>
<RouterLink to="/about">About</RouterLink>
</nav>
</div> </div>
</header> </header>
<main> <RouterView />
<TheWelcome />
</main>
</template> </template>
<style scoped> <style scoped>
header { header {
line-height: 1.5; line-height: 1.5;
max-height: 100vh;
} }
.logo { .logo {
...@@ -27,6 +31,31 @@ header { ...@@ -27,6 +31,31 @@ header {
margin: 0 auto 2rem; margin: 0 auto 2rem;
} }
nav {
width: 100%;
font-size: 12px;
text-align: center;
margin-top: 2rem;
}
nav a.router-link-exact-active {
color: var(--color-text);
}
nav a.router-link-exact-active:hover {
background-color: transparent;
}
nav a {
display: inline-block;
padding: 0 1rem;
border-left: 1px solid var(--color-border);
}
nav a:first-of-type {
border: 0;
}
@media (min-width: 1024px) { @media (min-width: 1024px) {
header { header {
display: flex; display: flex;
...@@ -43,5 +72,14 @@ header { ...@@ -43,5 +72,14 @@ header {
place-items: flex-start; place-items: flex-start;
flex-wrap: wrap; flex-wrap: wrap;
} }
nav {
text-align: left;
margin-left: -1rem;
font-size: 1rem;
padding: 1rem 0;
margin-top: 1rem;
}
} }
</style> </style>
import './assets/main.css'
import { createApp } from 'vue' import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue' 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')
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
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 }
})
<template>
<div class="about">
<h1>This is an about page</h1>
</div>
</template>
<style>
@media (min-width: 1024px) {
.about {
min-height: 100vh;
display: flex;
align-items: center;
}
}
</style>
<script setup>
import TheWelcome from '../components/TheWelcome.vue'
</script>
<template>
<main>
<TheWelcome />
</main>
</template>
// 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 { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
server: { plugins: [
host: true vue(),
}, ],
plugins: [vue()] resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
}
}) })
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册