对本周的赞助商Netlify致以热烈的欢迎。
如果你还没有听说过 Netlify,那么你应该知道它是一个网站托管平台,但不仅仅如此。它是一个以开发者工作流程为核心的网站托管平台。你可以在几秒钟内在 Netlify 上启动一个网站。一种方法是通过他们强大的 CLI。另一种方法,我发现非常方便(而且前几天刚用过),是登录 Netlify 网页界面,创建一个新网站,并将 Git 仓库连接到它。此外,我还可以给它一个命令,当我在 master 分支上推送代码时,它会运行我的网站构建过程。现在,我推送的任何内容都会在我的网站上发布,该网站使用 HTTPS 协议并位于 CDN 上。哇哦。当然,我也可以将自定义域名指向 Netlify,现在我们开始正式使用了。
Netlify 的核心是JAMstack。它是静态文件托管,因为静态文件托管速度超快且安全。这意味着你可以使用各种有趣、强大、现代站点生成器(如Hugo、Gatsby、Metalsmith或11ty)来构建你的网站。我自己启动的网站是我自己的自定义项目,它使用 Gulp 构建过程运行 Sass 和 Nunjucks。
静态网站不仅仅是只有 HTML、零交互性的石雕。
事实上,我认为静态网站是更广泛的无服务器技术世界中的一个组成部分,其中功能由适合该工作的服务处理。
Netlify 当然知道这一点,因此他们发布了一些全新的功能,允许你向网站添加交互性和功能。
表单处理
只需在<form>
中添加一个netlify
属性,配置你希望重定向和电子邮件通知发送到的位置,然后你就完成了。你无需编写任何服务器端代码或 JavaScript 代码。甚至可以将数据发送到 Zapier 以与数百万其他 Web 服务集成。他们不会注入 JavaScript 来实现此功能,它是在 CDN 层级处理的。

你还可以接收和管理 Netlify 仪表盘中的提交内容,因此这可以成为将网站管理整合到一个平台的另一项功能。
内置 AWS Lambda 函数
JavaScript 函数旨在处理请求。你的网站是否需要触发 Slack 消息?通过 Twilio 发送短信?处理数据?现在,你可以在与网站相同的仓库中托管你的云函数,Netlify 会帮你将其推送到 AWS Lambda 上。你无需配置任何内容,甚至无需设置自己的 AWS 账户。
此外,你的函数可以从部署预览和回滚功能中受益。也就是说,你的函数与网站的其余部分一起存在于版本控制中,因此易于管理,并具有使用 Netlify 的所有舒适性和优势。想深入了解?这是一个由 Alex MacArthur 编写的教程,深入讲解了相关内容。
身份验证
你需要登录网站进行管理员操作吗?或者让用户登录?借助身份验证功能,Netlify 为你提供了一种非常简单的方法来实现这一点。想象一下,健身网站提供会员食物日志的功能。会员可以使用 Google/Twitter 等登录并保存/查看/编辑他们的食物数据(当然,可以通过云函数实现!)。

社交登录是一个方便的功能,但不是必需的。你可以管理和验证不是 Netlify 用户或任何其他服务用户的用户。你将能够处理登录、注册、密码恢复等操作。对于受保护内容、网站管理以及与任何理解 JSON Web Tokens 的服务集成非常有用。
全部在 Netlify 上
所有这些功能,无需外出、评估和购买工具或自定义开源工具,将它们集成到你的项目中,然后管理多个不同的帐户/服务。
所有这些功能的费用是多少?很有可能你不需要支付任何费用。小型项目可能适合 Netlify 的免费套餐。如果你的项目发展壮大并构建了大型项目,那么你可能会进入付费套餐,但好消息是,你只需为使用量付费。
我喜欢 Netlify 做的事情,但他们的定价模式对我来说没有意义。1000 次表单提交每月 20 美元是什么意思?这太贵了,我可以以这个价格获得一台带有 postgres 的服务器。身份验证和 lambda 调用定价看起来还可以,但我无法理解其他部分。请记住,你的目标是开发者,他们有很多替代方案。