其他
完美平替 Express 和 Koa !这两个框架我推荐
今天是坚持日更的第139天,如果文章对您有帮助,点击关注、点赞、在看支持我
Express 和 Koa 框架已经出来很久了,除了这两个“老古董”框架,还有什么让开发者可以快速上手的 Node 框架?本文推荐两个不错的可以完美平替 Express 和 Koa 的框架。首先来看下近一年 NPM 趋势:
从趋势图看 Express 的下载量相比其他包是遥遥领先!Hono的下载量最低,可能还未被开发者所熟知。
1.Fastify
https://fastify.dev/
Fastify 是一个 Web 开发框架,其设计灵感来自 Hapi 和 Express,致力于以最少的开销和强大的插件结构提供最佳的开发体验。据我们所知,它是这个领域里速度最快的 web 框架之一。
1)主要特性:
高性能:据我们所知,Fastify 是这一领域中最快的 web 框架之一,另外,取决于代码的复杂性,Fastify 最多可以处理每秒 3 万次的请- 求。 可扩展:Fastify 通过其提供的钩子(hook)、插件和装饰器(decorator)提供完整的可扩展性。 基于Schema:即使这不是强制性的,我们仍建议使用 JSON Schema 来做路由(route)验证及输出内容的序列化,Fastify 在内部将 - schema 编译为高效的函数并执行。 日志:日志是非常重要且代价高昂的。我们选择了最好的日志记录程序来尽量消除这一成本,这就是 Pino! 对开发人员友好:框架的使用很友好,帮助开发人员处理日常工作,并且不牺牲性能和安全性。 支持 TypeScript:我们努力维护一个 TypeScript 类型声明文件,以便支持不断成长的 TypeScript 社区。
2)快速上手:
npm install fastify
编写 server.js
// Import the framework and instantiate it
import Fastify from 'fastify'
const fastify = Fastify({
logger: true
})
// Declare a route
fastify.get('/', async function handler (request, reply) {
return { hello: 'world' }
})
// Run the server!
try {
await fastify.listen({ port: 3000 })
} catch (err) {
fastify.log.error(err)
process.exit(1)
}
2.Hono
https://hono.dev/
Hono 在日语中是火焰🔥的意思,它是一个小巧、简单、超快的网络框架。它适用于任何 JavaScript 运行时:Cloudflare Workers、Fastly Compute、Deno、Bun、Vercel、Netlify、Lagon、AWS Lambda、Lambda@Edge 和 Node.js。
1)主要特性:
超快 🚀 - 路由器 RegExpRouter 的速度非常快。不使用线性循环。 轻量级 🪶 - Hono/tiny 预设值小于 14kB。Hono 零依赖,仅使用 Web 标准 API。 多运行时 🌍 - 可在 Cloudflare Workers、Fastly Compute、Deno、Bun、Lagon、AWS Lambda 或 Node.js 上运行。相同的代码可在所有平台上运行。 带能量 🔋 - Hono 拥有内置中间件、自定义中间件、第三方中间件和辅助工具。 令人愉悦的开发体验 😃 - 超级简洁的 API。一流的 TypeScript 支持。
2)快速上手:
npm install hono
Hono 主打超快速,API 特别简洁,语法特别简单,如果你有 Express 框架经验的话,上手非常快!
大家都在看