簡體   English   中英

為什么我的 nuxt static 站點不提供在 Dist 文件夾中找到的 static html 文件?

[英]Why doesn't my nuxt static site serve the static html files found in the Dist folder?

我用 Nuxt 創建了一個博客,其中包含我的每篇文章(articles/_slug.vue)的動態路由。 _slug.vue文件中,我使用 asyncData 從strapi CMS 中獲取標記內容。

aricles/_slug.vue

在運行nuxt generate然后nuxt start並導航到我的瀏覽器中的文章頁面后,當我打開頁面源時,我發現有許多 Js 文件正在導入/_nuxt/{randomNumbers}.js和一個 id為 __nuxt的 div ,很可能類似於 SPA 格式。

一篇文章的頁面來源

我的 index.vue 頁面不會發生這種情況,因為當我查看 index.vue 的頁面源時,我的所有內容都在 HTML 中。

谷歌爬蟲能夠索引我的文章頁面上的內容很重要,因此不包含博客內容的頁面來源並不理想。

我不明白的是,當我打開 nuxt 生成的 dist 文件夾時,我發現我的所有文章都在包含 HTML 文件的子文件夾中,這些文件用我的博客內容硬編碼。 所以我想知道為什么 nuxt 不提供這些 HTML 文件,有沒有辦法這樣做?

文件夾

據我所知,所有頁面和組件 go 在一個名為 Nuxt 的組件中,我認為“__nuxt”元素就是這樣。 順便說一句,使用 asyncData 和“nuxt generate”不會使您的應用程序服務器端動態,因為“nuxt generate”會生成一個 static 站點,並且在使用“nuxt generate”時,所有 asyncData 掛鈎都將被調用一次。 對於硬編碼的博客文章,我認為您應該在 nuxt.config.js 中禁用 Nuxt Crawler。 Nuxt Docs:生成屬性#Crawler

export default {
  generate: {
    crawler: false
  }
}

似乎在 Vercel 上托管項目后,static 行為相應地起作用。 在本地測試網站(nuxt start)時,內容不會預加載到頁面源中,它繼續充當動態路由上的 SPA。 但是,在部署到 Vercel 后,可以在頁面源代碼中找到博客內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM