科普转载 Node.js“代替品”——Deno

一、node.js 存在的问题
  1. 异步。 异步接口会有 Promise 和回调函数两种写法
  2. 依赖导入。 CommonJS 与 新语法ES 模块不兼容
  3. npm。 模块管理工具 npm,逻辑越来越复杂;模块安装目录 npm_modules 极其庞杂,难以管理
  4. 安全。 Node.js 也几乎没有安全措施,用户只要下载了外部模块,就只好听任别人的代码在本地运行,进行各种读写操作。
  5. 功能不完整。 外部工具层出不穷,webpack,babel,typescript、eslint、prettier…
二、deno 的特点和改进

deno 这个名字就是来自 Node 的字母重新组合(Node = no + de),表示"拆除 Node.js"(de = destroy, no = Node.js)。

  1. 使用Rust开发。 相比C++(Node.js开发语言)有更多的轮子可以用,缩短开发时间。
  2. 支持多语言。 原生支持 JavaScript、TypeScript 和 WebAssembly 程序。
  3. 支持跨平台。 Mac、Linux、Windows
  4. 安全控制 默认情况下脚本不具有读写权限。如果脚本未授权,就读写文件系统或网络,会报错。必须使用参数,显式打开权限才可以。
  5. 异步统一返回 Promise
  6. 只支持ES模块 模块通过 URL 加载。比如 import { bar } from "https://foo.com/bar.ts" (绝对 URL)或 import { bar } from './foo/bar.ts'(相对 URL)。因此,Deno 不需要一个中心化的模块储存系统,可以从任何地方加载模块。但是,Deno 下载模块以后,依然会有一个总的目录,在本地缓存模块,因此可以离线使用。

阮一峰 deno 运行时入门教程:Node.js 的替代品

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值