您现在的位置:首页 > 新技术
Deno 现在能够编译为独立的自包含二进制文件
http://www.50cnnet.com 物联中国
日期:2021-02-23 13:12:01来源:物联中国 点击:501
核心提示:Deno 1.6 引入了 将 Deno 项目编译成独立的可执行文件的功能,这种文件在 Deno 1.7 中被进一步缩小(高达 60%)。Deno 现在有一个专门的语言服务器,旨在提升 Deno 开发者在代码编辑器中的体验。Deno 还增加了对 data URL 的支持,使计算机生成的代码能够得以执行。Deno 1.6 的发布说明对新的编译工具链做出了如下...

Deno 1.6 引入了 将 Deno 项目编译成独立的可执行文件的功能,这种文件在 Deno 1.7 中被进一步缩小(高达 60%)。Deno 现在有一个专门的语言服务器,旨在提升 Deno 开发者在代码编辑器中的体验。Deno 还增加了对 data URL 的支持,使计算机生成的代码能够得以执行。

Deno 1.6 的发布说明对新的编译工具链做出了如下的阐述:

为 Deno 所做的事情类似于 或 为 Node 所做的事情:根据 JavaScript 或 TypeScript 源码创建一个独立的、自包含的二进制文件。这是 Deno issue 跟踪器上被投票最多的一个问题。

将 Deno 应用编译成自包含的二进制文件解决了与 Node 或 Nectarjs JavaScript 原生编译器 相同的使用场景。例如,有些开发人员可能想要为他们的应用程序创建一个闭源的商业方案 / 演示 / 试用版本;将他们的应用作为一个单独的文件部署在一系列的平台上,或者为了实现可移植性,在可执行文件中合并其他资产。

发布说明提供了一个使用新编译特性的样例:

Deno 编译器可以将代码编译到任意支持的架构(Windows x64、MacOS x64 和 Linux x64),这与执行编译的计算机所使用的架构无关。这意味着,一台 Linux 机器能够创建适用于 Windows 或 MacOS 的可执行文件。借助选项(Deno 1.7 中可用),所生成的二进制文件能够小 40-60%。还可以创建内置 CA 证书、自定义 V8 标记、限定的 Deno 权限以及预填充命令行参数的二进制文件。然而,它也有一些限制。Deno 编译器不支持 web workers 和 动态导入。

Deno 1.6 引入了一个新的子命令,它会启动一个实现了 语言服务器协议(Language Server Protocol,LSP)的语言服务器。LSP 定义了代码编辑器或集成开发环境与语言服务器之间的协议,从而能够提供一些便利的特性,比如代码补全、跳至定义处(go-to-definition)或代码 lint。目前,实现了 代码补全、悬停提示、跳至定义处和跳至引用处等操作。Deno VSCode 扩展 目前还没有支持。

Deno 1.7 添加了对 data URL 的支持。如下的 data URL 对下文所示的 TypeScript 源码进行了 base64 编码:

在 data URL 中编码的代码可以通过常规的导入语法进行导入()。该特性对于执行动态生成的内容特别有用。类似的特性被用来实现 Svelte 前端框架的交互式训练场。训练场用户在文本域中输入的源码会被预处理、打包、 通过 URL 对象进行导入、执行并在预览面板中展现。Data URL 也可以用于 web workers 中。

Deno 1.6 和 1.7 的发布说明详细介绍了该版本的其他小功能。Deno 是一款开源软件,采用 MIT 许可证。我们鼓励通过 Deno 项目 进行贡献,并应遵循 Deno 贡献指南。

内容来源:腾讯科技

出处:物联中国
郑重声明:本文仅代表作者个人观点,与物联中国(www.50cnnet.com)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
分享到:
  • 资讯
  • 产业
  • 服务
  • 应用