您现在的位置是:首页 > 文章详情

Deno 1.34 发布,deno compile 命令支持 npm 包

日期:2023-05-26点击:291

Deno 1.34 已正式发布,主要更新内容是优化与 npm 和 Node.js 的兼容性,从而整体提升开发者体验,并为未来的性能增强奠定基础。

值得关注的变化:

从 Deno v1.6 开始, deno compile支持将项目编译成单个二进制可执行文件,可方便开发者:

  • 在所有主要平台上分发和执行二进制文件,无需安装 Deno 或依赖项
  • 在可执行文件中包含资源以提高可移植性
  • 使用单个二进制文件简化部署
  • 实现更快的启动时间

经过多个版本的迭代,deno compile已支持 Web Worker 和动态导入,最新版本已支持 npm 包。

下面是一个使用cowsay创建独立二进制可执行文件的示例:

 $ cat main.ts import { say } from "npm:cowsay@1.5.0"; console.log(say({ text: "Hello from Deno!" })); $ deno compile --allow-read main.ts $ ./main __________________ < Hello from Deno! > ------------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||

该功能对于经常使用 IP 地址而不是域名的 Kubernetes pod,以及需要服务器 IP 地址以避免对名称解析的循环依赖的 HTTPS/TLS 上的 DNS 非常有用。

在 Deno v1.34 中,任何使用 TLS 的 API 都支持使用 IP 地址。例如:

 const resp = await fetch("https://1.1.1.1"); console.log(await resp.text());

其他改进和错误修复:

此前如果 Deno 需要忽略每个子命令的文件或文件夹,需要重复指定:

 { "fmt": { "exclude": ["target/"] }, "lint": { "exclude": ["target/"] }, "test": { "exclude": ["target/"] }, "bench": { "exclude": ["target/"] } }

 从这个版本开始,可以直接使用顶层exclude属性:

 { "exclude": ["target/"] }

详情查看发布公告

原文链接:https://www.oschina.net/news/242497/deno-1-34-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章