deno run
,运行文件
命令行用法
deno run [OPTIONS] [SCRIPT_ARG]...
运行 JavaScript 或 TypeScript 程序,或任务或脚本。
默认情况下,所有程序都在沙盒中运行,无法访问磁盘、网络或生成子进程。
deno run https://examples.deno.land/hello-world.ts
授予从磁盘读取和监听网络的权限
deno run --allow-read --allow-net jsr:@std/http/file-server
授予从磁盘读取允许列表文件的权限
deno run --allow-read=/etc jsr:@std/http/file-server
授予所有权限
deno run -A jsr:@std/http/file-server
指定文件名“-”以从 stdin 读取文件。
curl https://examples.deno.land/hello-world.ts | deno run -
类型检查选项 Jump to heading
--check
Jump to heading
启用类型检查。此子命令默认不进行类型检查。如果提供的值为 "all",将包括远程模块。或者,可以使用 'deno check' 子命令。
--no-check
Jump to heading
跳过类型检查。如果提供的值为 "remote",将忽略来自远程模块的诊断错误。
依赖管理选项 Jump to heading
--cached-only
Jump to heading
要求远程依赖项已缓存。
--frozen
Jump to heading
如果锁定文件过期,则报错。
--import-map
Jump to heading
从本地文件或远程 URL 加载导入映射文件。
--lock
Jump to heading
检查指定的锁定文件。(如果未提供值,默认为 "./deno.lock")。
--no-lock
Jump to heading
禁用锁定文件的自动发现。
--no-npm
Jump to heading
不解析 npm 模块。
--no-remote
Jump to heading
不解析远程模块。
--node-modules-dir
Jump to heading
设置 npm 包的 node 模块管理模式。
--reload
Jump to heading
短标记:-r
重新加载源代码缓存(重新编译 TypeScript)不带值时重新加载所有 jsr:@std/http/file-server,jsr:@std/assert/assert-equals 重新加载特定模块 npm: 重新加载所有 npm 模块 npm:chalk 重新加载特定 npm 模块。
--vendor
Jump to heading
切换远程模块的本地供应商文件夹使用和 npm 包的 node_modules 文件夹使用。
选项 Jump to heading
--allow-scripts
Jump to heading
允许为给定包运行 npm 生命周期脚本 注意:脚本仅在使用 node_modules 目录 (--node-modules-dir
) 时执行。
--cert
Jump to heading
从 PEM 编码文件中加载证书颁发机构。
--conditions
Jump to heading
使用此参数为 npm 包导出指定自定义条件。您也可以使用 DENO_CONDITIONS 环境变量。
--config
Jump to heading
短标记:-c
配置 Deno 的各个方面,包括 TypeScript、代码检查和代码格式化。通常配置文件名为 deno.json
或 deno.jsonc
并自动检测;在这种情况下,此标志不是必需的。
--coverage
Jump to heading
将覆盖率分析数据收集到 DIR。如果未指定 DIR,则使用 'coverage/'。此选项也可以通过 DENO_COVERAGE_DIR 环境变量设置。
--env-file
Jump to heading
从本地文件加载环境变量。只使用具有给定键的第一个环境变量。现有的进程环境变量不会被覆盖,因此如果环境中已存在同名变量,其值将保留。如果您的 .env 文件中存在同一环境变量的多个声明,则应用第一个遇到的声明。这取决于您作为参数传递的文件顺序。
--ext
Jump to heading
设置所提供文件的内容类型。
--location
Jump to heading
某些 Web API 使用的 `globalThis.location` 值。
--no-code-cache
Jump to heading
禁用 V8 代码缓存功能。
--no-config
Jump to heading
禁用自动加载配置文件。
--preload
Jump to heading
在主模块之前执行的文件列表。
--seed
Jump to heading
设置随机数生成器种子。
--v8-flags
Jump to heading
要查看所有可用标志的列表,请使用 --v8-flags=--help
标志也可以通过 DENO_V8_FLAGS 环境变量设置。使用此标志设置的任何标志都会附加在 DENO_V8_FLAGS 环境变量之后。
调试选项 Jump to heading
--inspect
Jump to heading
在 `host:port` 上激活检查器 [默认: `127.0.0.1:9229`]
--inspect-brk
Jump to heading
在 host:port 上激活调试器,等待调试器连接并在用户脚本开始时中断。
--inspect-wait
Jump to heading
在 host:port 上激活调试器,并在运行用户代码之前等待调试器连接。
文件观察选项 Jump to heading
--hmr
Jump to heading
观察文件更改并自动重启进程。默认情况下,会观察入口点模块图中的本地文件。可以通过将额外路径作为参数传递给此标志来观察。
--no-clear-screen
Jump to heading
在监视模式下不清除终端屏幕。
--watch
Jump to heading
观察文件更改并自动重启进程。默认情况下,会观察入口点模块图中的本地文件。可以通过将额外路径作为参数传递给此标志来观察。
--watch-exclude
Jump to heading
从监视模式中排除提供的文件/模式。
用法 Jump to heading
要运行此文件,请使用
deno run https://docs.deno.org.cn/examples/scripts/hello_world.ts
您也可以在本地运行文件。确保您位于正确的目录并使用
deno run hello-world.ts
默认情况下,Deno 在沙盒中运行程序,无法访问磁盘、网络或生成子进程。这是因为 Deno 运行时默认是安全的。您可以使用--allow-*
和 --deny-*
标志授予或拒绝所需权限。
权限示例 Jump to heading
授予从磁盘读取和监听网络的权限
deno run --allow-read --allow-net server.ts
授予从磁盘读取允许列表文件的权限
deno run --allow-read=/etc server.ts
授予所有权限 不推荐此操作,仅应在测试时使用
deno run -A server.ts
如果您的项目需要多个安全标志,您应该考虑使用 deno task
来执行它们。
观察 Jump to heading
要观察文件更改并自动重启进程,请使用 --watch
标志。Deno 内置的应用程序观察器会在文件更改时立即重启您的应用程序。
请务必将此标志放在文件名之前 例如
deno run --allow-net --watch server.ts
Deno 的观察器会在控制台中通知您更改,并在您工作时出现错误时在控制台中发出警告。
运行 package.json 脚本 Jump to heading
package.json
脚本可以使用 deno task
命令执行。
从 stdin 运行代码 Jump to heading
您可以从 stdin 管道传输代码并立即运行,使用
curl https://docs.deno.org.cn/examples/scripts/hello_world.ts | deno run -
终止运行 Jump to heading
要停止运行命令,请使用 ctrl + c
。