[英]NUXT when is each dist folder used, html/.nuxt/dist/ html/dist/_nuxt/ html/static html/assets?
[英]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 中获取标记内容。
在运行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.