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命令
-
运行命令
deno run xxx.ts -
若要取得权限,需要相对应的flag:
deno run --allow-read --allow-net xxx.ts -
如果查看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的相同之处:
- 皆运行于V8上。
- 拥有相同的事件循环。
- 提供CLI让使用者。
- 庞大的使用程式。