硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

Deno 现能够编译为独立的自包含二进制文件

  • 2021-02-21
  • 本文字数:1171 字

    阅读完需:约 4 分钟

Deno现能够编译为独立的自包含二进制文件

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


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


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


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


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



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


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


Deno 1.7 添加了对data URL的支持。如下的data URL "data:application/typescript;base64,ZXhwb3J0IGNvbnN0IGEgPSAiYSI7CgpleHBvcnQgZW51bSBBIHsKICBBLAogIEIsCiAgQywKfQo="对下文所示的 TypeScript 源码进行了base64编码:


export  const a =  "a";export  enum  A  {  A,  B,  C,}
复制代码


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


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


原文链接:


Deno Now Compiles to Self-Contained, Standalone Binaries

2021-02-21 17:023222

评论

发布
暂无评论
发现更多内容

苹果电脑玩王者荣耀用什么软件怎么操作?

阿拉灯神丁

游戏 王者荣耀 手游 CrossOver Mac下载 mac游戏模拟器

活动报名:Voice Agent 开发者分享会丨RTE Meetup

声网

年终总结报告ppt怎么做?用AI工具快速自动生成!

职场工具箱

职场 PPT 年终总结 AIGC AI生成PPT

富士胶片中国可持续发展报告获上海跨国公司地区总部优秀ESG报告

财见

AICon北京站HarmonyOS技术分论坛开启招募,欢迎开发者踊跃报名

最新动态

C语言之输入输出

不在线第一只蜗牛

C# 开发语言

AutoMQ 如何在 AWS 上避免 Kafka 跨 AZ 网络传输费用

AutoMQ

kafak Java开发分析工具 AutoMQ AZs 好文翻译

币安移除铭文市场的背后:对区块链、加密市场及用户的影响

chainwiseweb3

区块链技术 dapp开发 BTC铭文 交易所系统 铭文系统

Sora之后,视频生成模型的中国牌局

脑极体

AI

又双叒叕出来了一款船新Copilot!腾讯终于发大招了!码农们又可以丝滑摸鱼啦~

左诗右码

Ape-DTS:开源 DTS 工具,助力自建 MySQL、PostgreSQL 迁移上云

小猿姐

MySQL 数据库 postgresql 数据传输 数据迁移

【开源大屏】玩转开源积木BI,从0到1设计一个大屏

JEECG低代码

数据分析 数据可视化 BI 分析工具 数据大屏

融云 IM 基于 Rust 的鸿蒙 SDK 开发实践

融云 RongCloud

使用观测云排查数据库死锁故障

观测云

数据库

通义灵码,让梦想照进现实更快一点

阿里巴巴云原生

阿里云 云原生

天翼云携手华为共建魔乐社区,共创AI生态新篇章

极客天地

智保未来:国泰产险的 AI 网关革新之旅

阿里巴巴云原生

阿里云 云原生

2025年度计划如何制定?10个年度计划模板推荐!

职场工具箱

项目管理 职场 可视化 年度计划 办公软件

当前热门 DApp 模式解析:六大方向的趋势与创新

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

技术同学如何提升业务洞察力

老张

软件开发 系统架构 技术视野 业务洞察力

通义灵码,让梦想照进现实更快一点

阿里云云效

阿里云 云原生

CCS'24(全球网络安全四大顶级会议之一)收录云起无垠最新研究成果

云起无垠

币安移除铭文市场的深度解读:背后原因及其对区块链行业的影响

chainwiseweb3

DAPP系统开发 区块链技术开发 dapp开发 铭文 铭文系统开发

同为 Binance Labs 投资 ,APX Finance 与 Astherus 合并意味几何?

股市老人

Deno现能够编译为独立的自包含二进制文件_大前端_Bruno Couriol_InfoQ精选文章