Skip to content

Commit cfca59e

Browse files
committed
feat: add 404 error page
1 parent 87fef48 commit cfca59e

File tree

6 files changed

+46
-6
lines changed

6 files changed

+46
-6
lines changed

layouts/404.vue

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<script setup lang="ts">
2+
const router = useRouter()
3+
4+
function onBack() {
5+
if (window.history.state.back)
6+
history.back()
7+
else
8+
router.replace('/')
9+
}
10+
</script>
11+
12+
<template>
13+
<main text="center gray-300 dark:gray-200 18" py="20">
14+
<van-icon name="warn-o" size="3em" />
15+
<slot />
16+
17+
<div class="mt-10">
18+
<button van-haptics-feedback btn m="3 t8" @click="onBack">
19+
Back
20+
</button>
21+
</div>
22+
</main>
23+
</template>

nuxt.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ export default defineNuxtConfig({
5050

5151
typescript: { shim: false },
5252

53+
features: {
54+
// For UnoCSS
55+
inlineStyles: false,
56+
},
57+
5358
eslint: {
5459
config: {
5560
standalone: false,

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "nuxt3-vant-mobile",
33
"type": "module",
44
"private": true,
5-
"packageManager": "pnpm@8.15.6",
5+
"packageManager": "pnpm@8.15.7",
66
"scripts": {
77
"build": "nuxt build",
88
"dev": "nuxt dev",
@@ -39,7 +39,7 @@
3939
},
4040
"simple-git-hooks": {
4141
"pre-commit": "pnpm lint-staged",
42-
"commit-msg": "pnpm commitlint \\${1}"
42+
"commit-msg": "pnpm commitlint $1"
4343
},
4444
"lint-staged": {
4545
"*": "eslint --fix"

pages/[...all].vue

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<script setup lang="ts">
2+
definePageMeta({
3+
layout: '404',
4+
})
5+
</script>
6+
7+
<template>
8+
<div> Not found </div>
9+
</template>

pages/index.vue

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ definePageMeta({
44
})
55
66
const menuItems = [
7-
{ title: '💿 Mock 指南', route: 'mock' },
8-
{ title: '📊 Echarts 演示', route: 'charts' },
97
{ title: '🎨 Unocss 示例', route: 'unocss' },
108
{ title: '🍍 持久化 Pinia 状态', route: 'counter' },
119
{ title: '🙅 404页 演示', route: 'unknown' },
10+
{ title: '🧡 KeepAlive 演示', route: 'keepalive' },
1211
]
1312
1413
const color = useColorMode()
@@ -53,10 +52,9 @@ function toggleDark() {
5352
v-for="item in menuItems"
5453
:key="item.route"
5554
>
56-
<!-- item.route -->
5755
<VanCell
5856
:title="item.title"
59-
to="/"
57+
:to="item.route"
6058
is-link
6159
/>
6260
</template>

uno.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ import presetRemToPx from '@unocss/preset-rem-to-px'
1313

1414
// https://unocss.dev/guide/config-file
1515
export default defineConfig({
16+
shortcuts: [
17+
// shortcuts to multiple utilities
18+
['btn', 'px-6 py-3 rounded-3 border-none inline-block bg-green-400 text-white cursor-pointer hover:bg-green-600 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
19+
],
20+
1621
presets: [
1722
presetUno(),
1823
presetAttributify(),

0 commit comments

Comments
 (0)