几个月前,我们发布了 Encore.ts — TypeScript / Node.js 的开源后端框架。
由于已经有很多框架,我们想分享我们做出的一些异常设计决策以及它们如何提高性能和开发人员体验。
Encore.ts 内置支持提供静态资源(例如图像、HTML 和 CSS 文件以及 JavaScript 文件)。
当您想要提供静态网站或已预编译为静态文件的单页应用程序 (SPA) 时,这非常有用。
定义静态文件时,这些文件直接从 Encore.ts Rust 运行时提供。
这意味着不会执行 JavaScript 代码来服务文件,从而释放 Node.js 运行时以专注于执行业务逻辑。
这极大地加快了静态文件服务速度,并改善了 API 端点的延迟。
我们最近发布了基准测试,显示它比基于 Express.js 的 Node 应用程序快 9 倍。
在文档中了解更多信息
示例应用程序展示了如何使用 Encore.ts 提供静态文件
在 Encore.ts 中提供静态文件的工作方式与定义 API 端点类似,但使用 api.static 函数而不是普通的 api 函数。
import { api } from "encore.dev/api"; export const assets = api.static( { expose: true, path: "/frontend/*path", dir: "./assets" }, );
这将提供 /frontend 路径前缀下 ./assets 目录中的所有文件。
Encore 自动在目录的根目录下提供index.html 文件。在上面的例子中,这意味着请求 URL /frontend 将提供文件 ./assets/index.html,而 /frontend/hello 将提供文件 ./assets/hello 或 ./assets/hello/index.html (以存在者为准)。
通过将基于 Rust 的运行时与 Node.js 一起使用,Encore.ts 能够提高 TypeScript 应用程序的性能。
如果性能对您的项目很重要,尝试 Encore.ts 可能是个好主意。
而且它都是开源的,因此您可以查看代码并在 GitHub 上做出贡献。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3