Skip to content

deno compile

你可以使用 deno compile 命令 将应用创建为自包含的可执行文件。它会包含所有资源和依赖项。这个可执行文件可以在任何平台上运行,无需安装 Deno。

构建可执行文件

sh
# 首先构建你的应用
deno task build
# 生成自包含可执行文件
deno compile --output my-app --include _fresh -A _fresh/compiled-entry.js

--include _fresh 标志确保所有构建后的资源(JavaScript 打包文件、CSS、静态文件)都嵌入到二进制文件中。

配置

编译后的入口支持两个开箱即用的环境变量:

  • PORT 用于设置端口号(PORT=4000 ./my-app
  • HOSTNAME 用于设置主机名(HOSTNAME=0.0.0.0 ./my-app

交叉编译

你可以使用 --target 标志为不同的平台进行编译:

sh
deno compile --target x86_64-unknown-linux-gnu --output my-app --include _fresh -A _fresh/compiled-entry.js

请参阅 deno compile 文档 获取支持的目标完整列表。

限制

  • 可执行文件大小包含 Deno 运行时(约 50-130 MB,取决于平台)
  • 无法静态分析的动态导入可能不会被包含
  • 具有平台特定二进制文件的原生 npm 包需要与目标平台匹配