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

评论

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

Kyligence 发布数据和分析领域垂直大模型司南(Compass)

Kyligence

数据分析 司南大模型

十问ByteHouse:如何基于ClickHouse玩转向量检索?

字节跳动数据平台

数据库 大数据 云原生

2024年完整湖北等保测评机构名单看这里!

行云管家

湖北 等级保护 等保测评

如何基于jmx exporter监控java应用

蝉翼2u

Prometheus CloudNative 现代监控系统 jmx exporter

系统内存测试工具 Micromat Lifespan激活最新版

胖墩儿不胖y

Mac软件 系统检测工具

DAPP算力云矿机系统开发丨源码技术搭建

l8l259l3365

积极办理等保测评,保证企业网络安全!

行云管家

网络安全 等保 等级保护 等保测评

GitHub 如何修改 Fork from

HoneyMoose

【B/S架构】医院不良事件报告系统源码

源码星辰

玩转Sermant开发,开发者能力机制解析

华为云开发者联盟

开发 开发工具 华为云 华为云开发者联盟

光纤怎么接入网呢?

小齐写代码

好用的时间任务管理:Omnifocus 4激活中文最新版

胖墩儿不胖y

Mac软件 任务管理器

打卡智能中国(七):AI的小城故事

脑极体

AI

网络安全事件频发现状

尚思卓越

网络安全

万字长文,我对FinOps落地的思考

Geek_cd6rkj

云原生 后端 降本增效 成本治理 kubernetes 运维

直播预约丨《实时湖仓实践五讲》第五讲:实时湖仓领域的最佳实践解析

袋鼠云数栈

大数据 数据湖 直播 湖仓一体 实时湖仓

测试编排技术:实战前置接口响应数据引用

Apifox

测试 自动化测试 接口测试 测试工具 测试自动化

分布式基础概念-消息中间件[RocketMQ]

派大星

RocketMQ 消息中间件 Java 面试题

读《重构-改善既有代码的设计》的一些思考

air

读书 软件开发 重构

2023年“中国高校计算机大赛-人工智能创意赛”总决赛获奖名单公示

飞桨PaddlePaddle

人工智能 深度学习 开发者 高校 计算机大赛

云图说丨初识华为云DDoS防护AAD——DDoS攻击防护平台

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 华为云云图说

开发一个免费App,都可以用哪些工具?

FinFish

APP开发 小程序容器 小程序转app 小程序技术

NFTScan 与蚂蚁数科旗下 ZAN 达成战略合作

NFT Research

节点 NFT\ NFTScan #Web3

小红书、抖音社交媒体如何实现电商流程管理自动化

RestCloud

零代码 社交媒体 APPlink

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