Fastify 是一个快速且低开销的 web 框架。它是使用 Node.js 编写的,并且旨在快速处理高吞吐量的请求,同时保持开销很小。Fastify 兼容 ES2016 +,并且使用了许多性能优化技巧。
在这篇文章中,我们将学习如何使用 Fastify 包来构建一个简单的 web 应用程序。我们将覆盖以下主题:
- 安装 Fastify 包
- 构建 web 应用程序
- 访问应用程序
- 常用的 Fastify 插件
安装 Fastify 包
Fastify 是一个 Node.js 包,可以使用 npm 命令行工具进行安装。
npm install fastify
构建 Web 应用程序
我们创建一个简单的服务器来处理来自客户端的请求。首先创建一个 index.js
文件,并添加以下代码:
-- -------------------- ---- ------- ----- ------- - -------------------- ---------------- -------- --------- ------ - ------------ ------ ------- -- -- -------------------- -------- ----- -------- - -- ----- - ---------------- --------------- - ------------------- --------- -- ------------ --
第一行导入 fastify
包,然后使用 fastify()
构造函数创建应用程序实例。
接下来,我们将使用 .get()
方法为我们的服务器创建一个路由,该路由对根路径 /
进行响应。回调函数接受请求和响应对象,并返回 JSON 响应。
最后,我们使用 .listen()
方法启动 web 服务器并监听端口 3000。如果有错误,则在控制台上记录错误消息,否则打印地址信息。
运行 node index.js
命令,在浏览器中输入 http://localhost:3000
即可访问您的应用程序并看到 "hello: world" 的 JSON 响应。
访问应用程序
Fastify 为与 HTTP 请求和响应相关的对象提供了许多方法和工具。下面是一些最常见的方法:
request.query
:访问查询参数request.params
:访问 URL 参数request.body
:访问请求正文
以下是使用 request.query
和 request.params
将参数传递到路由处理程序的示例代码:
-- -------------------- ---- ------- ----- ------- - -------------------- -- -------------- -------------------- -------- --------- ------ - ----- ---- - ------------------ ------------ -------- ------ --------- -- -- -- --------- -------------------------- -------- --------- ------ - ----- ---- - ------------------- ------------ -------- ------ --------- -- -- -------------------- -------- ----- -------- - -- ----- - ---------------- --------------- - ------------------- --------- -- ------------ --
常用的 Fastify 插件
Fastify 生态系统为 Fastify 提供了各种插件。这些插件提供了从日志记录到身份验证到 CORS 支持的各种可重用组件。官方网站提供了一个插件目录,该目录列出并解释了许多可用的插件。以下是一些常见的插件和示例代码:
fastify-auth
npm install fastify-auth
-- -------------------- ---- ------- ----- ------- - -------------------- ----- ---- - ----------------------- ---------------------- ---------------------- - ------- - ----- - ----- --------- ----------- - --------- - ----- -------- -- --------- - ----- -------- - - - -- -------- -------- --------- ------ - ----- -------- - --------------------- ----- -------- - --------------------- -- ------------ ---- -- --- ----------------- - --
fastify-cors
npm install fastify-cors
const fastify = require('fastify')() const cors = require('fastify-cors') fastify.register(cors) fastify.get('/', function (request, reply) { reply.send({ hello: 'world' }) })
fastify-jwt
npm install fastify-jwt
-- -------------------- ---- ------- ----- ------- - -------------------- ----- --- - ---------------------- --------------------- - ------- ------------- -- ---------------- -------- --------- ------ - ----- ----- - ------------------ ---- ----- -- ------------ ----- -- -- ---------------------- -------- --------- ------ - ------------------- ------------ -------- -------- -- --- ------ ------ -- --
结论
Fastify 是一个快速、低开销的 web 框架,它使得构建基于 Node.js 的 web 应用程序变得更容易。它提供了许多用于处理请求和响应对象的实用程序和工具。此外,它的生态系统充满了各种高质量的插件,可用于添加常见功能,如日志记录、身份验证和 CORS 支持。快速学习和使用 Fastify,您可以轻松地为 Web 应用程序提供高度可靠的性能和安全性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60728