来源:OSCHINA 时间:2023-05-26 12:25:28
Deno 1.34 已正式发布,主要更新内容是优化与 npm 和 Node.js 的兼容性,从而整体提升开发者体验,并为未来的性能增强奠定基础。
值得关注的变化:
deno compile
支持 npm 包从 Deno v1.6 开始,deno compile
支持将项目编译成单个二进制可执行文件,可方便开发者:
(相关资料图)
在所有主要平台上分发和执行二进制文件,无需安装 Deno 或依赖项 在可执行文件中包含资源以提高可移植性 使用单个二进制文件简化部署 实现更快的启动时间经过多个版本的迭代,deno compile
已支持 Web Worker 和动态导入,最新版本已支持 npm 包。
下面是一个使用cowsay
创建独立二进制可执行文件的示例:
$ cat main.tsimport { 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 地址的 TLS 证书该功能对于经常使用 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.json
和 CLI flag 中的 Glob 支持其他改进和错误修复:
改进配置文件此前如果 Deno 需要忽略每个子命令的文件或文件夹,需要重复指定:
{ "fmt": { "exclude": ["target/"] }, "lint": { "exclude": ["target/"] }, "test": { "exclude": ["target/"] }, "bench": { "exclude": ["target/"] }}
从这个版本开始,可以直接使用顶层exclude
属性:
{ "exclude": ["target/"]}
改进语言服务器 Deno API 变更 优化 npm 和 Node 兼容性 V8 11.5 和 TypeScript 5.0.4 详情查看发布公告。
全球看点:Nuxt 3.5 发布,基于 Vue 3 的 Web 框架
全球微资讯!Tails 5.13 发布,隐私性极高的 Linux 发行版