【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

评论

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

室外LED屏幕防水吗?

Dylan

LED显示屏 室外显示屏

产品好不好,谁说了算?Sonar提出分析的性能指标,帮助您轻松判断产品性能及表现

龙智—DevSecOps解决方案

Node の MongoDB安装

空城机

mongodb Node 7月月更

结合案例:Flink框架中的最底层API(ProcessFunction)用法

百思不得小赵

大数据 flink 7月月更

CSS 文本阴影 text-shadow 悬停效果

南城FE

前端 动画 HTML5, CSS3 7月月更 hover

教你学c++算法题中最头疼的动态规划

KEY.L

7月月更

Lombok使用引发的血案

技术小生

7月月更

程序员转方向

沃德

程序员 7月月更

实时云交互如何助力教育行业发展

3DCAT实时渲染

实时云渲染 云交互

对话龙智高级咨询顾问、Atlassian认证专家叶燕秀:Atlassian产品进入后Server时代,中国用户应当何去何从?

龙智—DevSecOps解决方案

Server Atlassian Jira DC版

科普达人丨一文看懂阿里云的秘密武器“神龙架构”

阿里云弹性计算

云计算 虚拟化 资源管理 神龙架构

【Docker 那些事儿】容器为什么傲娇?全靠镜像撑腰

Albert Edison

7月月更

分布式BASE理论

源字节1号

软件开发 后端开发

实战:fabric 用户证书吊销操作流程

BSN研习社

fabric

洞见科技解决方案总监薛婧:联邦学习助力数据要素安全流通

洞见科技

数据安全 隐私计算 数据隐私计算

回顾V神 Rollups 神作,详解以太坊为何需要二层扩展方案

TinTinLand

区块链 科技

【一库】vueuse:我不许身为vuer,你的工具集只有lodash!

摸鱼的春哥

Vue 前端 Vue3 7月月更

小程序直播 + 电商,想做新零售电商就用它吧!

CRMEB

基于STM32+华为云IOT设计的酒驾监控系统

DS小龙哥

7月月更

Helix Swarm中文包发布,Perforce进一步提升中国用户体验

龙智—DevSecOps解决方案

perforce Helix Core Helix Swarm

Python|字符串操作

AXYZdong

7月月更

程序员的焦虑

沃德

程序员 7月月更

易周金融 | Q1保险行业活跃人数8688.67万人 19家支付机构牌照被注销

易观分析

金融 银行

一个数据人对领域模型理解与深入

松子(李博源)

大数据 领域模型 模型设计

都在说DevOps,你真正了解它吗?

龙智—DevSecOps解决方案

DevOps 运维 开发

华为云数据库DDS产品深度赋能

程思扬

数据库 华为云 DDS

31年前的Beyond演唱会,是如何超清修复的?

字节跳动视频云技术团队

SpringSecurity会话管理

急需上岸的小谢

7月月更

浅识k8s中的准入控制器

火线安全

云安全 云安全技术 云安全攻防 云安全研究

2022年中国移动阅读市场年度综合分析

易观分析

移动阅读

抓到Dubbo异步调用的小BUG,再送你一个贡献开源代码的机会

捉虫大师

开源 dubbo 问题排查 7月月更

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