网站的一部分可以是静态网站生成的,另一部分是传统的水疗中心吗?

问题描述

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

解决方法

Vue.js 被渲染到 #app 中。该 div 之外的所有内容都将是静态的。所以是的,你可以同时拥有。顺便说一句,如果您完全不需要 SPA,请检查 alphine.js,这是一个轻量级的替代方案。

,

generate-exclude 配置可以帮助您避免 SSR 特定页面。

所以,假设我们有这个

export default {
  generate: {
    exclude: [
      /^\/admin/ // path starts with /admin
    ]
  }
}

它将 SSR 渲染除 admin 路径之外的所有内容,此路径仅可用作 SPA 生成的路由。


编辑以回答评论

如果你有这种结构,admin 下的所有嵌套路由都会被渲染为 SPA 页面。 blogpricing 仍然是通用的(server + client 呈现)。

此外,一个简单的 admin.vue 也可以完成这项工作(如果不需要更多路由)。

pages
--admin
----secure-dashboard.vue
----info.vue
--blog
--pricing

对于缓存,我不确定它的行为究竟如何,但它应该仍然可以工作,因为它是浏览器端。并不是真的取决于渲染的类型。