vuejs / vitepress

Vite & Vue powered static site generator.
https://vitepress.dev
MIT License
11.48k stars 1.86k forks source link

Cannot read properties of undefined (reading 'date') #3668

Closed TomatoDroid closed 1 month ago

TomatoDroid commented 1 month ago

Describe the bug

run vitepress build is not work.

TypeError: Cannot read properties of undefined (reading 'date') at file:///Users/zhensir/zhen-git/blog/.vitepress/.temp/app.js?t=1710903760781:1005:58 at ReactiveEffect.fn (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+reactivity@3.4.21/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js:928:13) at ReactiveEffect.run (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+reactivity@3.4.21/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js:162:19) at get value [as value] (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+reactivity@3.4.21/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js:940:109) at file:///Users/zhensir/zhen-git/blog/.vitepress/.temp/app.js?t=1710903760781:1015:58 at renderComponentSubTree (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:430:9) at renderComponentVNode (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:376:12) at ssrRenderComponent (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:84:10) at file:///Users/zhensir/zhen-git/blog/.vitepress/.temp/app.js?t=1710903760781:1079:15 at renderComponentSubTree (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:430:9) at renderComponentVNode (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:376:12) at renderVNode (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:490:14) at renderComponentSubTree (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:445:7) at renderComponentVNode (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:376:12) at renderToString (/Users/zhensir/zhen-git/blog/node_modules/.pnpm/@vue+server-renderer@3.4.21_vue@3.4.21/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:649:24) at render (file:///Users/zhensir/zhen-git/blog/.vitepress/.temp/app.js?t=1710903760781:1452:23) at async renderPage (file:///Users/zhensir/zhen-git/blog/nodemodules/.pnpm/vitepress@1.0.0-rc.45@algolia+client-search@4.22.1_postcss@8.4.36_search-insights@2.13.0_typescript@5.4.2/node_modules/vitepress/dist/node/serve-CXeFQMGg.js:46469:19) at async pMap.concurrency (file:///Users/zhensir/zhen-git/blog/nodemodules/.pnpm/vitepress@1.0.0-rc.45@algolia+client-search@4.22.1_postcss@8.4.36_search-insights@2.13.0_typescript@5.4.2/node_modules/vitepress/dist/node/serve-CXeFQMGg.js:46713:11) at async file:///Users/zhensir/zhen-git/blog/nodemodules/.pnpm/vitepress@1.0.0-rc.45@algolia+client-search@4.22.1_postcss@8.4.36_search-insights@2.13.0_typescript@5.4.2/node_modules/vitepress/dist/node/serve-CXeFQMGg.js:2616:20

Reproduction

https://stackblitz.com/edit/vite-njm5ac?file=docs%2F.vitepress%2Ftheme%2FLayout.vue

image

Expected behavior

The build won't report an error.

System Info

System:
    OS: macOS 14.3.1
    CPU: (12) x64 Apple M3 Pro
    Memory: 46.27 MB / 18.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node
    npm: 10.2.3 - ~/.nvm/versions/node/v20.10.0/bin/npm
    pnpm: 8.12.0 - ~/.nvm/versions/node/v20.10.0/bin/pnpm
    Watchman: 2021.06.07.00 - /usr/local/bin/watchman
  Browsers:
    Chrome: 122.0.6261.129
    Safari: 17.3.1
  npmPackages:
    vitepress: 1.0.0-rc.45 => 1.0.0-rc.45

Additional context

No response

Validations

brc-dd commented 1 month ago

It's failing for 404 page. Add 404 check in Layout.vue:

      <div v-if="page.isNotFound">Not found</div>
      <Home v-else-if="frontmatter.index" />
      <Article v-else />