所以,我在 Nuxt 建立了一个网站并使用了 ssg。这很棒,但对于另一个网站,90% 的内容都是静态文本和图像,但我想要一个客户登录门户,他们可以在其中查看其产品的状态。以我的理解,我不明白这怎么可能是 ssg 。那么可以两者兼得吗?
问问题
439 次
2 回答
2
Vue.js 被渲染成#app。该 div 之外的所有内容都是静态的。所以是的,你可以两者兼得。顺便说一句,如果您完全不需要 SPA,请检查 alphine.js,这是一个轻量级的替代方案。
于 2021-03-03T22:01:10.163 回答
1
generate-exclude
配置可以帮助您避免到 SSR 特定页面。
所以,假设我们有这个
export default {
generate: {
exclude: [
/^\/admin/ // path starts with /admin
]
}
}
它将 SSR 渲染除admin
路径之外的所有内容,此路径仅可用作 SPA 生成的路由。
编辑以回答评论
如果你有这种结构,下面的所有嵌套路由admin
都会被渲染为 SPA 页面。blog
并且pricing
仍然是通用的(server
+client
渲染)。
此外,一个简单的admin.vue
也可以完成这项工作(如果不需要更多路线)。
pages
--admin
----secure-dashboard.vue
----info.vue
--blog
--pricing
对于缓存,我不确定它的行为方式,但它应该仍然可以工作,因为它是浏览器端的。并不真正取决于渲染的类型。
于 2021-03-04T09:55:48.523 回答