关键字: Deno, TypeScript, JavaScript, Node.js, WebAssembly, Rust, V8 引擎, tsc 引擎, 跨平台
Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.
推荐语:Deno(发音:"蒂诺")是 Ryan Dahl 在 2017 年创立的编程语言。作为 Node.js 的替代品,Deno 也是一个服务器运行时,但是支持多种语言,可以直接运行 JavaScript、TypeScript 和 WebAssembly 程序。Deno
内置了 V8 引擎,用来解释 JavaScript。同时,也内置了 tsc 引擎,解释 TypeScript。
Deno 使用 Rust 语言开发,由于 Rust 原生支持 WebAssembly,所以它也能直接运行 WebAssembly。它的异步操作不使用 libuv 这个库,而是使用 Rust 语言的 Tokio 库,来实现事件循环(event loop)。额外的,Deno 还有以下特性:
- Deno 只提供一个可执行文件,所有操作都通过这个文件完成。它支持跨平台(Mac、Linux、Windows);
- Deno 支持 Web API,尽量跟浏览器保持一致;所有的异步操作,一律返回 Promise;
- Deno 只支持 ES 模块,跟浏览器的模块加载规则一致。没有 npm,没有 npm_modules 目录,没有
require()
命令,也不需要package.json
文件;
- Deno 只支持从 URL 加载模块,不能通过模块名加载,所以必须带有脚本后缀名;
- Deno 原生支持 TypeScript 语言,可以直接运行,不必显式转码(根据文件后缀名,选择使用不同的引擎运行);
- Deno 拥有内置的实用工具,如依赖性检查器(deno info)和代码格式化器(deno fmt);打包、格式清理、测试、安装、文档生成等,都有专门命令,不再需要外部工具;
- Deno 拥有一组经过审核的标准模块,保证与 Deno 一起工作:deno.land/std;
目前,Deno 尚处于密集开发中,功能不稳定,不建议用于生产环境。但,它已经是一个可用的工具,感兴趣的朋友,不妨尝试学习、体验下。考虑到它设计上的诸多优点,相信在将来,Deno 会比 Node.js 更具优势。── 出自倾城之链 | Deno - A secure runtime for JavaScript and TypeScript。
对于 Deno,在 Mac 有非常多安装方式,如:
- Github Release 下载进行安装;
- 通过 brew 进行安装;
brew install deno
- 通过 curl 进行安装;
curl -fsSL https://deno.land/x/install/install.sh | sh
按照经验来看,通过这几种方式,所安装的 Deno 并没有,真正加入 PATH,从而导致,在 bash 脚本中使用 Deno 会出现报错:
/bin/sh: deno: command not found
Command 'deno' not found in ubuntu xxx
deno run --allow-read --unstable --allow-net --allow-write src/index.ts
更加合理的方式,可通过如下方式:
curl -fsSL https://deno.land/x/install/install.sh | sudo DENO_INSTALL=/usr/local sh
您可能感兴趣的文章