在static
SSG 中可能不是最好的措辞,因为您感觉它无法在其上动态运行一些 JS,但它完全可以!
静态主要是说可以将文件托管在CDN上。更好的名称是pre-rendered
或built ahead of time
文件。主要好处是不需要依赖 Node.js 服务器。
首先,你会得到一些静态文件,然后它会变成一个完全水合的 SPA 应用程序,基本上是一个普通的 Vue 应用程序。这几乎就是 Nuxt 的全部意义所在。
如果有人在某处点击了一个赞按钮,您需要在某处发送一些 HTTP 调用来记录这个。当有人到达页面时,您的应用程序将调用外部 API(例如,用于点赞计数器),而某些内容可以保持完全相同(您的帖子的实际文本)。
如果您确实想要允许特定的私人用户页面,您需要处理 OAuth 并填充一个路径,您将在其中注入您将再次从一些外部 API 中获取的用户特定信息(几乎是 Facebook 的工作原理) .
所以,你真的不需要选择什么是静态的或动态的,因为:
- 在部署期间生成的文件是静态的
- 其余的都是动态的,因为它是一个通用应用程序(服务器 + 客户端组合)
至于需要在哪里完成,这取决于您如何实现它(本地或远程博客文章,即.md
文件或headless CMS
)+ 客户端的东西将始终在运行时。
我们需要更多详细信息,您可能需要尝试/观看有关该主题的一些教程。
我做了一个关于 NuxtNation 的演讲,也许可以看一下,以了解一些棘手的部分:Nuxt Nation 2021 - 了解 Nuxt 的难点
我还可以推荐 Debbie 的 YouTube 频道,它非常擅长解释事情:https://www .youtube.com/c/DebbieOBrien/videos