SuperAPI AI 工具集

deno-typescript

编程与开发

查看项目

更新于 10-15 13:11

技能介绍

用途

本技能用于指导开发者使用 Deno 与 TypeScript 构建安全、现代的应用程序,充分利用 Deno 对 TypeScript 的原生支持以及内置工具链。

主要能力

TypeScript 通用规范

  • 代码与文档使用英文;始终为变量和函数(参数与返回值)声明类型;避免使用 any,应按需创建类型;使用 JSDoc 记录公开类与方法。
  • 采用函数式与声明式编程模式;无需配置即可原生运行 TypeScript。
  • 命名约定:类、类型、接口用 PascalCase;变量、函数、方法用 camelCase;文件与目录用 kebab-case;环境变量用大写;变量名配合辅助动词(如 isLoading、hasError、canDelete);函数名以动词开头。
  • 函数应短小且单一职责;简单操作用箭头函数;异步操作使用 async/await;多参数优先使用 RO-RO 模式。
  • 对象形状优先使用 interface;避免 enum,改用带 as const 的 const 对象;使用 Zod 进行运行时校验并推断类型;不可变属性使用 readonly。

Deno 项目结构与模块系统

  • 推荐目录结构包含 src/routes、middleware、services、types、utils,以及 deps.ts、main.ts、deno.json。
  • 使用 ES 模块并显式书写文件扩展名;通过 deps.ts 集中管理依赖;可从 URL 导入或使用 deno.json 中的 import maps;Deno 原生包可使用 JSR(jsr.io)。

安全模型

  • Deno 默认安全,仅申请必要权限。可通过命令行标志授权,如 --allow-net、--allow-read、--allow-write、--allow-env、--allow-run,并支持限定到具体域名或路径。
  • 支持在程序中通过 Deno.permissions.request 动态申请权限。

HTTP 服务

  • 可使用 Deno.serve 快速创建 HTTP 服务器并返回 Response.json。
  • 可结合 Hono 框架定义路由。
  • 可使用 Fresh 框架编写页面路由与 API handler。

数据库与环境变量

  • 可集成内置的 Deno KV 键值存储,执行 set、get、list 等操作。
  • 通过 Deno.env.get 读取环境变量(需 --allow-env),也可使用 dotenv 加载。

测试

  • 使用内置测试运行器,结合 assertEquals、assertRejects 等断言,以及 describe、it、beforeEach 等 BDD 风格 API 编写测试。

内置工具链

  • deno fmt 格式化、deno lint 检查、deno check 类型检查、deno bundle 打包、deno compile 编译为可执行文件、deno doc 生成文档、deno info 检查依赖。

配置与错误处理

  • deno.json 可配置 tasks、imports、compilerOptions、lint、fmt。
  • 可自定义 AppError 继承 Error,并在请求处理中按错误类型返回相应状态码与信息。

Web 标准与性能

  • Deno 拥抱 Web 标准,可使用 fetch()、Request/Response、URL/URLSearchParams、Web Crypto、Streams API、FormData。
  • 性能方面可使用 Web Streams 处理大数据、利用 Deno KV 做快速键值存储、用 Deno.serve 提升 HTTP 性能、编译为独立可执行文件用于部署。

使用方式

按上述规范组织项目结构,通过 deps.ts 或 import maps 管理依赖,使用 deno.json 定义任务与配置,通过权限标志运行程序,并使用内置测试与工具命令进行验证、格式化和构建。

适用场景

适用于使用 Deno 运行时与 TypeScript 开发的后端服务、API、Web 应用(Hono、Fresh)、需要键值存储的应用,以及强调安全权限控制与原生工具链的现代 JavaScript/TypeScript 项目。

限制

关于收费、价格、平台支持范围等具体商业信息,资料中暂未提供。