这是我的第一篇文章,所以请和我一起放松!我正在使用nuxt generate来填充静态生成的网站的dist文件夹。当我浏览网站时,由于某种原因,提取不会在初始页面加载时执行,而是在导航到另一个页面时执行。有没有办法让提取操作在初始页面加载时执行?
它必须是静态生成的网站。我不能使用nuxt start。
浏览网站时,我可以看到调用了fetch,并且随后的页面通过客户端动态加载。
async fetch ({ store, params, error }) {
try {
await store.dispatch('page/getPageById', params.id ? params.id : 'home')
}
catch {
error({ statusCode: 404, message: 'This page could not be found' })
}
}
我不介意首先显示静态生成的页面,然后将其替换为获取的结果。
我尝试在名为Preview.client.js的插件中使用EnablePreview,并在URL上附加?preview = true,但这没有效果。
export default async function ({ query, enablePreview }) {
if (query.preview) {
enablePreview()
}
}
如果打开浏览器控制台,然后键入
$nuxt.refresh()
发出要提取的请求,我得到了所需的东西。如果这是正确的方法,则应在代码内的哪里调用$ nuxt.refresh(),以便仅在页面的初始加载时调用它。我不想在mount()中使用它,因为它将在每个页面上调用。
很抱歉,如果我不清楚,请告诉我您是否遇到过同样的情况,和/或知道如何解决此问题。