Deno 常用命令

Deno是Node.js的作者Ryan Dahl重新设计的新一代JavaScript运行时,更安全、更现代。

基础命令

命令 说明 示例
deno run 运行JavaScript/TypeScript文件 deno run app.ts deno run -A app.ts
deno cache 预下载依赖并缓存到本地 deno cache deps.ts
deno install 将脚本安装为系统命令,创建可执行链接 deno install -n fmt deno fmt
deno info 显示模块和依赖信息 deno info https://deno.land/std@0.224.0/http/server.ts
deno eval 直接执行代码字符串 deno eval "console.log('hello')"
deno version 显示Deno版本信息 deno --version
deno help 显示命令帮助信息 deno run --help

权限与运行选项

权限 说明 缩写
--allow-all 允许所有权限,等同于-A -A
--allow-read 允许读取文件系统,可指定路径 --allow-read=/tmp
--allow-write 允许写入文件系统 --allow-write=/data
--allow-net 允许网络请求,可指定域名白名单 --allow-net=api.example.com
--allow-env 允许访问环境变量 --allow-env
--allow-run 允许运行子进程 --allow-run
--allow-ffi 允许加载外部动态链接库 --allow-ffi
--no-check 跳过TypeScript类型检查,加快运行速度 --no-check

Deno 核心特性

特性 说明 对比Node.js
原生TypeScript 内置TypeScript支持,无需配置编译步骤 无需tsc
ESM模块 原生ES Modules支持,使用URL导入模块 无需CommonJS
沙盒安全 默认拒绝所有权限,需显式授权运行 更安全
标准库 官方维护的标准库std,质量保证 stdlib.deno.land
单可执行文件 deno编译为单个二进制文件,部署简单 无node_modules
内置工具 格式化deno fmt、测试deno test、文档deno doc 无需配置ESLint
浏览器兼容 支持大多数Web API,Fetch、WebSocket等 API一致
依赖管理 使用URL直接导入,deno.json锁定依赖 无package.json

常用标准库模块

模块 说明 导入路径
http 服务器 快速搭建HTTP服务,基于std/http std/http/server.ts
fs 文件系统 文件系统操作,异步API std/fs/mod.ts
path 路径 跨平台路径处理 std/path/mod.ts
datetime 日期 日期时间格式化 std/datetime/mod.ts
encoding 编码 CSV、JSON、YAML等编码处理 std/encoding/csv.ts
flags 参数 命令行参数解析 std/flags/mod.ts
fmt 格式化 控制台日志美化输出 std/fmt/colors.ts
collections 集合 数组、对象工具函数 std/collections/mod.ts

部署与打包

命令 说明 使用场景
deno compile 将脚本编译为独立可执行文件 跨平台部署
deno bundle 打包为单个JS文件 生产构建
deno task 运行deno.json中定义的任务 自定义脚本
deno init 初始化deno项目,创建配置文件 新项目
deno vendor 将远程依赖 vendoring到本地 离线构建
deno upgrade 升级Deno到最新版本 版本更新
← Node Commands Runtime →