[TOC]
# 官網
https://deno.land/
Deno 是 Web瀏覽器之外的一個新的 JavaScript和 TypeScript 運行時。它基于 V8 JavaScript 引擎,用 Rust 編寫,由 Node.js 的創始人Ryan Dahl 創建。
# 安裝
使用 Homebrew (macOS):
~~~shell
brew install deno
~~~
使用 Scoop (Windows):
~~~shell
scoop install deno
~~~
參見[`deno_install`](https://github.com/denoland/deno_install)了解更多安裝方式。
# Deno VS Node
| 描述 | Node | Deno |
| :-- | :-- | :-- |
| API 引入方式 | 模塊引入 | 全局對象 |
| 模塊系統 | CommonJS & 新版 node 實驗性 ES Module | ES Module 瀏覽器實現 |
| 安全 | 無安全限制 | 默認安全 |
| Typescript | 第三方,如通過 ts-node 支持 | 原生支持 |
| 包管理 | npm + `node_modules` | 原生支持 |
| 異步操作 | 回調 | Promise |
| 包分發 | 中心化 npmjs.com | 去中心化 import url |
| 入口 | package.json配置 | import url 直接引入 |
| 打包、測試、格式 | 第三方eslint、gulp、webpack、babel | 原生支持 |
# 模塊規范
deno 完全遵循了 ES Module 瀏覽器實現:
```javascript
// 支持
import * as fs from "https://deno.land/std/fs/mod.ts";
import { deepCopy } from "./deepCopy.js";
import foo from "./foo.ts";
// 不支持
import foo from "foo.ts";
import bar from "./bar"; // 必須制定擴展名
```
# 參考
[Deno 和 Node 的區別](https://blog.csdn.net/kkm486622296/article/details/106178412)