写点什么

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

评论

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

21道Java基础面试题及答案(1),linux系统管理技术手册

Java 程序员 后端

30岁程序员裸辞,闭关三月,拿下阿里字节百度等12家offer

Java 程序员 后端

97 道大厂 Java 核心面试题出炉,来试试看你会几道题?

Java 程序员 后端

client-go实战之一:准备工作,干货分享

Java 程序员 后端

BAT大厂Java面试必备:20道最新JVM面试题(含答案

Java 程序员 后端

28天读完349页,这份Alibaba面试通关手册,助我

Java 程序员 后端

MacBook M1 搭建OpenVINO环境

IT蜗壳-Tango

OpenVINO MacBook M1 10月月更

6 种事件驱动的架构模式,springboot入门书籍

Java 程序员 后端

985应届进大厂,后端开发两年被裁,对前路迷茫的我

Java 程序员 后端

Alibaba内部流行的“Java突击宝典”,springboot模块化架构

Java 程序员 后端

21道Java基础面试题及答案,Dubbo SPI及自适应扩展原理

Java 程序员 后端

6年拉力工作经验,学了阿里P8级架构师的7+1,java基础学习百度云

Java 程序员 后端

Binder源码阅读指南之java层,Java程序员如何有效提升学习效率

Java 程序员 后端

CDH+Kylin三部曲之二:部署和设置,java项目百度网盘

Java 程序员 后端

20年IT农民工终于分享出了SpringCloud微服务架构实战文档,太强了!

Java 程序员 后端

30张图带你分析:spring事务源码,mysql基础教程视频

Java 程序员 后端

4个实验,彻底搞懂TCP连接的断开,实战nginx张宴

Java 程序员 后端

90行代码,15个元素实现无限滚动,吃透这份Java高级工程师面试497题解析

Java 程序员 后端

4年Java开发经验,从传统公司裸辞之后足足准备了3个月,终于拿到美团

Java 程序员 后端

6月GitHub上最牛逼的10个Java开源项目,号称“Star收割机

Java 程序员 后端

7年Java开发经验,面试20多家公司,砍下16个Offer

Java 程序员 后端

95% 的算法都是基于这 6 种算法思想,大厂Java面试必考点

Java 程序员 后端

as-if-serial规则和happens-before规则的区别

Java 程序员 后端

浅谈如何实现自定义的 iterator 之二

hedzr

c++ stl Iterator 迭代器

avatar Logo,nginx负载均衡算法及原理

Java 程序员 后端

CAS都不了解,你还怎么看J-U-C,下载量瞬秒百万

Java 程序员 后端

CentOS部署Harbor镜像仓库,java进阶训练营百度网盘

Java 程序员 后端

5种可能在10年后消失的开发语言,java消息队列面试题

Java 程序员 后端

apiserver源码分析——启动流程,java工程师技术栈

Java 程序员 后端

apollo在Spring boot加载过程解析,redis单线程原理

Java 程序员 后端

架构实战营模块二作业

随风King

「架构实战营」

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