【问题标题】:What does Markup actually mean in JAMstack?Markup 在 JAMstack 中的实际含义是什么?
【发布时间】:2023-04-01 03:00:01
【问题描述】:

我一直在研究 JAMstack。据我了解,JAMstack 的意思是:

  • J - JavaScript
  • A - API
  • M - 标记

我有两个问题:

  1. 我实际上并不清楚这里的标记。是预呈现的标记(即预呈现的 HTML)吗?

  2. 我们的办公项目是用 React 和外部 API 开发的。由于该项目是使用 JavaScript (React) 和 API 开发的,并且我们知道 React 从服务器交付预渲染块,那么它是 JAMstack 吗?

【问题讨论】:

  • 我确定它是预渲染的。使用的示例是来自 Gatsby 等静态站点生成器的输出。
  • 鉴于您不确定 JAMstack 是什么,或者即使您当前的应用程序已经满足该定义,一个更相关的问题可能是:您为什么认为应该转换它?您想解决什么问题,您对解决问题有多大信心?
  • 标记是您预渲染的 HTML。如果你可以编译你的项目并且可以将生成的静态文件托管在 aws s3 或 netlify 上,因为所有内容都是从 apis 中获取的,那么你的页面基本上已经是 JAM 堆栈了。有 gatsby (react) 或 gridsome (vue) 等工具可帮助您通过简单的路由、转换和托管解决方案启动 JAM 堆栈项目
  • 如果事实证明您当前的解决方案不是 JAMstack,您仍然没有理由开始转换它。不要落入“媒体驱动开发”的陷阱。寻找能够真正帮助您解决问题的工具和架构。
  • 静态文件方法意味着,您可以通过 cdn 发布您的资产以获得更好的可扩展性。这也意味着为前端开发人员提供更好的开发人员体验和更便宜的托管。根据您的项目,可能只缺少一个部分,例如将您的静态资产托管在 CDN 上。

标签: javascript reactjs jamstack


【解决方案1】:
  1. “标记”用于标记语言,例如 Markdown,但也可能适用于所有其他语言,ascidoc 等。使用 jamstack,我们具有静态渲染的约束和优势,这与 wordpress 等其他 CMS 正好相反

  2. 我和你一起发现了 jamstak 原理,最重要的是它是静态渲染的,使用 git 作为备份。所以:

    • 如果您在运行时阶段使用 react,则它不是 jamstack,
    • 但如果您在编译时使用它并将呈现的 html 交付到您的生产 http 服务器,它就是 jamstack。

这是一个链接,指出最重要的是拥有静态文件,而不仅仅是 JS,调用“shamstack”: https://css-tricks.com/jamstack-more-like-shamstack/

例如,我使用 jekyll(github 上的默认设置)和 markdown 使用了 github 的静态页面。 html 在提交时呈现。

【讨论】:

  • 也就是说,不是必须使用任何服务器端渲染器(如 nextjs、nuxtjs 等)来作为 JAMstack,对吗?如果正确,那么如何将 nextjs 项目上传到 cdn 中? @pdem
  • 我不确定您使用的是哪个 CDN,但我会看到两种主要方法: 1. 在本地编译,然后使用 FTP 或任何上传软件上传。 2.使用已经管理markdown并由git更新的构建服务器,并将在每次提交时构建和呈现html。例如在 github 页面中。
【解决方案2】:

标记意味着网站以静态 HTML 文件的形式提供。这些可以使用静态站点生成器从源文件(例如 Markdown)生成。

【讨论】:

    【解决方案3】:

    Netlify 已从 JAMstack 首字母缩略词中移除。现在是 Jamstack——一个描述开发理念但除此之外没有任何意义的名称。这样做的原因是 JAM 是顽固的。如果我不在静态网站上使用 JavaScript 或 API 怎么办?它仍然是 JAMstack 网站吗?

    至于 Markup 的本义,就是将网站上的大部分内容预渲染,而不是按需渲染。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-07
      • 2013-01-04
      • 2015-02-21
      • 2013-06-13
      • 2015-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多