我正在构建一个Nuxt.js应用,该应用被设置为universal模式,并以静态网站的形式通过 nuxt generate
. 它是通过一个连接到CMS的GraphQL API来获取数据,一切都在正常工作。当内容在CMS中更新时,会有一个部署脚本运行。 nuxt generate
并在几秒钟内将更新显示在网站上。
我的问题是,CMS(Craft CMS)有一个实时预览模式,编辑内容时可以访问。预览窗口将一个令牌传递给应用程序,然后应用程序可以根据令牌值修改其查询。这在spa模式下似乎可以工作,但在通用模式下却不能。在通用模式下,生成静态文件时,查询已经在服务器上运行了。
我试着用一个基于例子的serverMiddleware进行了实验 此处. I 分叉的代码沙盒 并尝试了serverMiddleware函数里面的各种逻辑,似乎没有任何结果。
Nuxt 2.13 有一个可以通过插件设置的预览模式。
export default async function ({ query, enablePreview }) => {
if (query.preview) {
enablePreview()
}
}
当enablePreview()被设置后,页面将查询实时API,而不是使用生成的页面。