2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:022964

评论

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

Easysearch 新特性:写入限流功能介绍

极限实验室

征文活动 easysearch 极限科技 写入限流

Aloudata 入选 Gartner 中国代表性数据基础设施供应商列表

Aloudata

数据 Gartner 数据管理 数据基础设施

deepin 社区月报 | 2024年6月,deepin V23 RC2发布,还有多款应用更新!

nn-30

Linux 开源 操作系统 社区 deepin

阿里云 MaxCompute MaxFrame 开启免费公测,统一 Python 开发生态

阿里云大数据AI技术

数据挖掘 大数据 阿里云 分布式计算 MaxCompute

小智常见报表示例--层次坐标--逐层累计报表

小智数据

小智报表 开源报表 类excel报表 自定义打印控件 逐层累计复杂报表

借助 NGINX 对本地的 Kubernetes 服务进行自动化的 TCP 负载均衡

NGINX开源社区

nginx 开源 Kubernetes NGINX Ingress Controller nginx 开源版

天池AI大模型技术提升营火热上线,四重好礼等你来拿!

阿里云天池

AI

火山引擎ByteHouse发布高性能全文检索引擎

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

2024年苏州服务器托管有哪些机房选择?IDC选择方案

苏州服务器托管

数据中心 服务器托管

如何打造高效、安全、协同的指标管理体系?袋鼠云是这样做的

袋鼠云数栈

大数据 指标体系 指标管理 指标中台 指标建设

小智常见报表示例--层次坐标--跨层累计报表

小智数据

小智报表 小智开源报表 跨层累计报表 小智常见报表示例

VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS xFusion (超聚变) 定制版

sysin

esxi OEM BIOS unlocker

开山网商品详情数据接口(K3.item_get)丨开山网API接口

tbapi

开山网 开山网商品详情接口 开山网 API接口

小智常见报表示例--层次坐标--比较报表

小智数据

小智报表 开源报表 类excel报表 自定义报表控件 报表批量打印

人工智能与语音识别:技术进步与应用前景

天津汇柏科技有限公司

语音识别 人工智能’

【YashanDB知识库】virt虚拟内存远大于res内存问题分析

YashanDB

yashandb 崖山数据库 崖山DB

蓝亚盒子迁移上云,华为云助力开启元宇宙直播电商新纪元

华为云开发者联盟

云原生 华为云 元宇宙 华为云开发者联盟

小智常见报表示例--层次坐标--交叉表累计报表

小智数据

自定义报表打印控件 小智开源报表 交叉表累计报表 小智BI 小智报表常见示例

微软最新WiFi远程代码执行漏洞(CVE-2024-30078)探究

阿里技术

微软 漏洞 WiFi远程代码 更新中 30078

微软研究人员推出SpreadsheetLLM!旨在理解和处理电子表格;“神农大模型 2.0”正式发布!|AI日报

可信AI进展

人工智能

公开课 | 软件测试简历书写、职业规划及面试的必备技能

测试人

软件测试

你喜欢刚刚公布的Scrum联盟系列认证新徽章吗?

ShineScrum

哪些基于 LLMs 的产品值得开发?从用户体验和市场接受度的角度探讨

Baihai IDP

产品 AI 白海科技 企业号 7 月 PK 榜 GenAI

最全数据识别标准汇编,你应该需要!(附下载)

极盾科技

数据安全

终端设备识别准确率高达99.999%

芯盾时代

终端安全 移动应用安全 风控 反欺诈

deepin V23成功适配奕斯伟计算EIC7700X,RISC-V桌面生态发展再提速

nn-30

Linux 开源 操作系统 risc-v deepin

实践分享:小程序插件引入详细教程

FN0

小程序 小程序化

苏宁商品详情数据接口(suning.item_get)丨苏宁API接口

tbapi

苏宁API 苏宁商品详情接口

小智常见报表示例--层次坐标--组内占比报表

小智数据

自定义报表控件 小智开源报表 小智BI 报表打印 组内占比报表

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