Javascript 在通用和通用之间切换;spa模式取决于查询字符串?
我正在构建一个设置为通用模式的Nuxt.js应用程序,并通过Javascript 在通用和通用之间切换;spa模式取决于查询字符串?,javascript,vue.js,nuxt.js,Javascript,Vue.js,Nuxt.js,我正在构建一个设置为通用模式的Nuxt.js应用程序,并通过Nuxt generate将其部署为静态网站。它通过连接到CMS的GraphQLAPI拉入数据,一切都正常工作。当内容在CMS中更新时,部署脚本将运行numxt generate,更新将在几秒钟内显示在网站上 我的问题是CMS(Craft CMS)有一个实时预览模式,在编辑内容时可以访问。预览窗口将令牌传递给应用程序,然后应用程序可以根据令牌值修改其查询。这似乎在spa模式下有效,但在通用模式下无效。在通用模式下,当生成静态文件时,查询
Nuxt generate
将其部署为静态网站。它通过连接到CMS的GraphQLAPI拉入数据,一切都正常工作。当内容在CMS中更新时,部署脚本将运行numxt generate
,更新将在几秒钟内显示在网站上
我的问题是CMS(Craft CMS)有一个实时预览模式,在编辑内容时可以访问。预览窗口将令牌传递给应用程序,然后应用程序可以根据令牌值修改其查询。这似乎在spa模式下有效,但在通用模式下无效。在通用模式下,当生成静态文件时,查询已经在服务器上运行
我尝试了基于这个示例的服务器中间件。我尝试了serverMiddleware函数中的各种逻辑,但似乎没有任何结果 具有可通过插件设置的预览模式:
export default async function ({ query, enablePreview }) => {
if (query.preview) {
enablePreview()
}
}
设置enablePreview()时,页面将查询实时API,而不是使用生成的页面。具有可通过插件设置的预览模式:
export default async function ({ query, enablePreview }) => {
if (query.preview) {
enablePreview()
}
}
设置enablePreview()时,页面将查询实时API,而不是使用生成的页面。enablePreview()仅在路由更改时起作用。即使在页面刷新时,也不会进行asyncData调用。我正在多个站点上使用此代码的一个版本。如果条件匹配,则运行enablePreview()并进行asyncData调用。您也可以在组件中执行类似的操作:
mounted(){if($nuxt.isPreview){//此处的预览代码}
enablePreview()仅在路由更改时工作。即使在页面刷新时,也不会进行asyncData调用。我正在多个站点上使用此代码的一个版本。如果条件匹配,则运行enablePreview()并进行asyncData调用。您也可以在组件中执行类似的操作:mounted(){if($nuxt.isPreview){//此处预览代码}}