3

所以,我在 Nuxt 建立了一个网站并使用了 ssg。这很棒,但对于另一个网站,90% 的内容都是静态文本和图像,但我想要一个客户登录门户,他们可以在其中查看其产品的状态。以我的理解,我不明白这怎么可能是 ssg 。那么可以两者兼得吗?

4

2 回答 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 回答