为 JAMstack 站点添加动态和异步功能

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 提供适合您旅程各个阶段的云产品。 立即开始使用 $200 免费积分!

Jason Lengstorf

以下列出了我反复听到人们声称 JAMstack 无法处理但它肯定可以处理的事情(列表不完整)

  • 异步加载数据
  • 处理文件,例如操作图像
  • 读写数据库
  • 处理用户身份验证并在登录后保护内容

仍然存在一个误解,即 **JAMstack = 使用静态网站生成器,仅此而已**,尽管我读过的几乎所有关于 JAMstack 的文章都谈到了如何预渲染您能预渲染的内容,以及使用客户端 JavaScript 和 API 来完成其余工作。

Phil 最近为我们很好地阐述了这一点

在我看来,这种误解非常真实。 我经常听到它。 当我写这篇文章时,我看到了这个在 Reddit 上发布的问题。

Beginner question. Is JAM useful for applications or only for websites?

为了避免冗长地讨论区分“应用程序”和“网站”的无用性,我认为这有助于说明那里存在很多困惑。


如果您心情愉快……

Tim Chase 很有创意 并写了这首调侃的诗歌。 显然这是一个笑话,但它的假设来自完全相反的角度,即 JAMstack 需要客户端 JavaScript 才能完成任何事情。

我不喜欢那个叫 JAM 的堆栈
我不喜欢它,Sam-I-am。
我不会运行它一段时间,
我不会使用您的 GraphQL。
我不会通过 QUIC 运行它
不,Sam-I-am,它让我恶心。
听听它如何让我咳嗽
它在没有 JS 的情况下无法工作。

而 Phil 回复道

这些想法很有道理,我必须同意
除了你真的不需要全部三个
由你决定。 由你选择。
JavaScript 只是一个你可以使用的选项。
如果你这样做,成功可能是
来自逐步增强事物。

一个 JAMstack 站点可能看起来依赖
在客户端完成所有事情
事实上,这取决于什么
您拥有的需求和用例
最重要的关键是,要记住
静态地提供服务,并预渲染。

直接链接 →