deno 使用

146 阅读1分钟

deno 使用

- deno特点

1.  deno 最初版本是用go做的,后来用rust

2.  deno 使用v8 快照的ts编译器

3.  deno 使用cache对ts编译为js的结果缓存(启动快)

4.  deno 作为ts的运行时,并不同于node,虽然很像,比如node中的Buffer 中deno中找不到

5.  deno使用es Module导入模式 ,而不是commonjs (不能使用require方式)

import xxx from 'a.ts'. // ok
import xxx from 'a.js'. // ok
import xxx from 'a.json'. // wrong   (只能使用js 或者ts的module,不能是其它格式)

const a = require('a.ts') // 不能使用commonjs

- deno命令

  1. 运行命令

    deno run xxx.ts

  2. 若要取得权限,需要相对应的flag:

    deno run --allow-read --allow-net xxx.ts

  3. 如果查看dependency tree,使用info子命令:

    deno info xxx.ts

local: /Volumes/workplace/study/nodejs/deno/q.ts           //执行的文件
emit: /Users/wangjianwei/Library/Caches/deno/gen/file/Volumes/workplace/study/nodejs/deno/q.ts.js                // 执行deno run后编译的js缓存地址
type: TypeScript             // 类型为ts
dependencies: 1 unique (total 509B)       //import依赖数量

file:///Volumes/workplace/study/nodejs/deno/q.ts (484B)         //执行的文件绝对地址
└── file:///Volumes/workplace/study/nodejs/deno/t.js (25B)     //import依赖

- Deno与Node.js的相同之处

  1. 皆运行于V8上。
  2. 拥有相同的事件循环。
  3. 提供CLI让使用者。
  4. 庞大的使用程式。