type
status
date
slug
summary
tags
category
icon
password
AI总结
Deno 是一个现代、安全的 JavaScript 和 TypeScript 运行时,由 Node.js 创始人创建。它基于 V8 引擎和 Rust 构建,核心特性包括默认安全、原生 TypeScript 支持和 ES 模块。Deno 与 Node.js 相比,使用 ES 模块、通过 URL 加载依赖,并提供更好的浏览器兼容性。文章还对比了 Deno 与 Cloudflare Workers,强调了它们在数据库连接、一致性控制和资源限制方面的差异。此外,文章列举了多个 Deno 和 Cloudflare Workers 的实际应用示例,如反向代理、负载均衡代理等,展示了 Deno 在解决访问限制和 API 安全调用方面的实用价值。
English Version
Deno is a modern and secure JavaScript and TypeScript runtime created by the founder of Node.js. Built on the V8 engine and Rust, its core features include default security, native TypeScript support, and ES modules. Compared to Node.js, Deno uses ES modules, loads dependencies via URLs, and offers better browser compatibility. The article also contrasts Deno with Cloudflare Workers, highlighting their differences in database connections, consistency control, and resource limitations. Furthermore, it provides several practical examples of Deno and Cloudflare Workers applications, such as reverse proxies and load-balancing proxies, demonstrating Deno's practical value in resolving access restrictions and securely calling APIs.
一,Deno简介
Deno 是一个现代、安全的 JavaScript 和 TypeScript 运行时环境,由 Node.js 的原始开发者 Ryan Dahl 创建。它基于 V8 引擎并采用 Rust 编程语言构建,旨在解决 Node.js 存在的一些设计问题。
1,核心特性
默认安全性是 Deno 最突出的特点之一。外部代码默认没有文件系统、网络和环境的访问权限,除非显式开启相应权限。这种沙盒环境设计大大提高了代码执行的安全性。
原生 TypeScript 支持让开发者可以直接运行 TypeScript 代码,无需额外的配置或编译步骤,Deno 在后台自动处理 TypeScript 的转译和捆绑。
ES 模块标准是 Deno 的核心模块系统,支持直接从 URL 导入模块,无需传统的包管理器如 npm。开发者可以通过 URL 或文件路径直接导入依赖项。
2,主要特点
技术架构:Deno 建立在三个核心技术之上:V8 引擎用于执行 JavaScript 代码,Rust 语言提供底层系统功能,Tokio 库构建异步事件循环系统。这种架构设计使 Deno 既具有高性能,又保持了内存安全性。
与 Node.js 的对比:Deno使用 ES 模块而非 CommonJS,通过 URL 加载依赖而非 node_modules,并且 API 设计充分利用了 Promise、ES6 和 TypeScript 等现代特性。Deno 还提供了更好的浏览器兼容性,支持许多 Web API。
实际应用:Deno 适用于构建 Web 服务器、执行脚本任务、数学运算等多种场景。它特别适合替代传统的 bash 或 Python 脚本。
3,同类对比
Deno 和 Cloudflare Workers 都是现代的边缘计算和无服务器平台,但它们在架构设计、开发体验和功能特性方面存在显著差异,除此之外,还有Github Pages和 Edgeone Pages。
ㅤ | deno | Cloudflare workers | Github Pages | EdgeOne Pages |
运行环境 | 原生支持 TypeScript 和现代 JavaScript 特性 | 支持 JavaScript、TypeScript、Rust、C++ 和 WebAssembl | 纯静态托管服务,仅支持 HTML、CSS、JavaScript 等静态资源,不支持服务端运行时,依赖浏览器环境渲染页面,无法直接运行 TypeScript 或现代 JavaScript 特性(需预编译)。 | 边缘计算运行时:支持 JavaScript、TypeScript、Rust、WebAssembly,可直接在 Cloudflare 边缘节点执行代码,提供完整的 Serverless 函数能力 |
数据链接 | 作为通用后端运行时,支持常规数据库客户端连接,可以直接连接 PostgreSQL 等传统数据库 | 无法进行任意的 TCP 连接,必须通过 Supabase 等服务提供的 REST API 接口使用数据库 | 无法直接连接传统数据库(如 PostgreSQL),必须通过客户端 JavaScript 调用外部 API | 仅能通过 HTTP API 访问数据服务(如 Supabase、D1 数据库、Workers KV),需依赖外部服务的 REST/GraphQL 接口 |
开发部署 | 通过 GitHub 集成实现自动部署 | 使用 wrangler CLI 工具进行项目初始化和部署操作 | 部署时候通过Git 提交代码到特定仓库(如 <user>.github.io ),随后可结合脚本( deploy.sh )自动构建项目(如 npm run build )并推送 dist 目录 | 使用 wrangler CLI 工具初始化项目、本地调试和部署到边缘节点,与 Git 仓库集成可触发 CI/CD,无需手动构建 |
数据存储 | 基于 FoundationDB 构建,支持原子操作和一致性控制,目前在 3 个区域提供服务 | Workers KV 设计为最终一致性,使用全局缓存系统优化读取性能,在 300 个位置提供服务,但不支持原子操作 | 所有数据需依赖外部服务,静态资源存储在 GitHub 仓库,最大容量 1GB,超限可能导致部署失败 | Workers KV:全球分布式键值存储(最终一致性),覆盖 300+ 边缘节点,优化读取性能[表格]。 |
资源限制 | Deno Deploy 提供最大 512MB 内存 | Cloudflare Workers 的内存限制为 128MB,执行超时时间最长 30 秒 | 仓库大小 ≤1GB;月带宽 ≤100GB每小时;构建次数 ≤10 次;部署超时 ≤10 分钟 | 内存上限:128MB;单次执行超时:≤30 秒(HTTP 请求);CPU 时间限制:≤10ms(针对 CPU 密集型操作) |
适用场景 | 通用的后端运行,能够连接传统数据库,且需要强一致性数据操作 | 广泛的全球分布和丰富的云服务集成,高可用性和最终一致性的全球化应用 | 个人博客、文档站点、项目展示页等纯静态网站,或者免费、易用,适合轻量级应用或开源项目文档托管 | 全球化低延迟应用:如 API 网关、动态内容渲染、AB 测试等;高可用、最终一致性场景:无需强原子操作的缓存服务 |
二,Deno项目推荐
1,Huggingface 部署项目反向代理
由于huggingface部署的项目自带的域名
username-project.hf.space
在中国境内默认屏蔽,且非付费用户无法绑定自定义域名,此时可以使用deno进行反向代理,从而实现自定义域名访问huggingface部署项目的设置。此外,cloudflare workers同样支持此操作。此处以通用为例,实测可反代其他类型的项目
2,Gemini API负载均衡与代理
Gemini Party 是一个高效、可靠的 Gemini API 代理服务,提供智能的 API 密钥轮询负载均衡、自动错误重试和黑名单机制,支持 Gemini 原生 API 和 OpenAI 兼容格式调用。
gemini-party
forever-lwy • Updated Jul 15, 2025
下述版本在原版的基础上,添加CORS中间件
3,通用URL代理
支持任意类型的URL代码,实际部署可见此处。
cf-proxy-ex
1234567Yang • Updated Sep 13, 2025
下述版本修改了HTML界面使之更加美观
4,通用API代理
通过Deno代理可以规避例如Gemini、OpenAI等AI大模型厂商调用API的IP和区域限制,同时解决了部分URL在国内被屏蔽的问题,实际部署可见此处。
下述版本修改了HTML界面使之更加美观
三,Cloudflare Wokrers 项目推荐
1,Huggingface 部署项目反向代理
与上述相比更加简洁,其本质没有区别,由于deno在国内被墙之后,其反向代理速度与cloudflare workers反向代理一样,国内访问缓慢。
通用Huggingface项目代理
2,粒子效果的Hello World主页界面
支持粒子效果和互动的HelloWorld主页展示
3,Dify-APi转OpenAI格式
提供 dify.ai API转为标准OpenAI格式进行调用,支持多API映射多模型,详见下述内容:
4,硅基流动API聚合管理系统
硅基流动API聚合管理系统是一个功能强大的API Key管理平台,不仅通过智能负载均衡算法自动选择可用API密钥,而且提供密钥有效性检测、管理、权限分享等功能实现。系统设计基于Cloudflare Worker脚本。
Siliconflow-API-Management
Dr-Ai-0018 • Updated Sep 6, 2025
5,Huggingface-API转OpenAI格式
由于免费版的Huggingface API貌似已经无法使用,此处已废弃。
提供 huggingaface.co API格式转为标准OpenAI格式进行调用的中转,支持多API映射模型
6,基于KV的URL重定向
绑定域名的URL路径重定向到指定链接,该Workers要求必须绑定KV数据库,绑定的变量值为
LINKS
例如KV对设置如下,则在访问
https://自定义域名/gemini
的时候会自动重定向到 https://gemini.google.com/app
密钥 | 值 |
子路径 | 重定向的URL |
gemini | https://gemini.google.com/app |