在使用 @nuxt/content 进行静态部署遇到的问题?

根据 content 目录书写 markdown 文章后,按照部署的方式执行 nuxt generate,把生成的 .output/public 部署到静态服务器上,其中 .output/public 会有对应文章的各个静态页面内容。但是发现一个在开发时没有遇到的问题,如果是先进入到首页,然后导航到特定的文章页面那是没有问题的。但是如果是直接在地址栏中输入文章地址,会有一个文件无法获取到。以其中一个文章为例,发现这两者的差别是,如果从首页进入文章页面,那么文章页面会请求 https://www.haskchang.com/blog/api/_content/query/8ekvdsUYPX.1691506762530.json?_params={"only":["_path","title","_dir"],"where":[{"_type":"markdown"},{"_locale":"zh-Hans"}],"surround":{"query":"/browser_plugins/modifyingwebdata/install"},"sort":[{"_file":1,"$numeric":true}]},而直接从地址栏进入文章页面,会请求 https://www.haskchang.com/blog/api/_content/query/SSkfr2O6Cb.1691506762530.json?_params={"only":["_path","title","_dir"],"where":[{"_type":"markdown"},{"_locale":"zh-Hans"}],"surround":{"query":"/browser_plugins/modifyingwebdata/install/"},"sort":[{"_file":1,"$numeric":true}]}
而其中 SSkfr2O6Cb.1691506762530.json 这个文件确实在 .output/public/api/_content/query 文件内是没有的。按照路径的查询参数,我估计这个文件内容应该是和 8ekvdsUYPX.1691506762530.json 一致的,1691506762530 应该是时间戳。请问这个问题如何解决?

阅读 2.3k
1 个回答

用 Nuxt.js 的全静态生成功能试试:在 nuxt.config.js 文件里设置 target: 'static' 和 ssr: true ,然后,在你的页面组件的 asyncData 或 fetch 方法里,用 this.$content() 来获取文章的内容。

推荐问题
logo
Microsoft
子站问答
访问
宣传栏