阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Deno 中文教程

      什么是 Deno

      Deno

      Deno 是基于 V8 JavaScript 引擎和 Rust 编程语言的 JavaScript 和 TypeScript 运行时,默认使用安全环境执行代码。

      它由 Node.js 的原始创建者 Ryan Dahl 创建,专注于安全性和生产力。

      Deno 建立在 V8、Rust 和 Tokio 的基础上。

      Ryan Dahl 在 2018 年的发表了一个名字 NodeJs 的设计错误的演讲,然后宣布了要搞 Deno。

      当时在前端圈引出一个梗老子学不动了

      https://a.axihe.com/edu/deno/chrome_yD44p6WXxr.png

      详细参见 https://github.com/denoland/deno/issues/25

      写在前面

      下面是一些引导文件,你在看完本篇文章以后,可以根据自己的实际情况,来优先选择了解。

      如果你以前对 Nodejs 比较熟悉,可以先了解下 DenoNode.js 的关系

      如果你是一个初学者,你可能对安装感兴趣

      Deno 案例

      这里是一些 Deno 案例,可以让你了解 Deno 的工作方式

      网路相关

      系统相关

      可能会遇到的问题

      如果你在使用 Deno 的时候遇到了一些问题,建议你看下面的一些解答

      Deno 功能亮点

      • 默认情况下外部代码没有文件系统、网络、环境的访问权限,如果需要权限,必须指定开启。

        • Deno 脚本,没有任何读 / 写 / 网络权限(沙箱模式 andbox mode):
        • 需要显式标志相应的权限:

          deno run --allow-read --allow-net xxx.ts
          
        • 或者使用deno run -A xxx.ts

      • 同时支持 JavaScript 和 TypeScript 的环境。

      • 只有一个独立的可执行文件 deno(这个有点像 Go)

      • 有着内建的工具箱

        • 比如:依赖信息查看器,deno info。(这个命令要牢记,很常用)
        • 比如:代码格式化工具,deno fmt
        • 提供内置工具来提升开发体验,比如单元测试、代码格式化、代码检查。
      • 有一组经过审计的标准模块 deno.land/std,保证能在 Deno 上工作。

      • 脚本代码能被打包为一个单独的 JavaScript 文件。

      • Deno 承担了运行时和包管理器的角色,它使用标准的浏览器兼容协议 (URL) 来加载模块。

      • 不把 V8 的概念泄露到用户空间。

      其他知识点

      • 远程代码在第一次运行时获取并缓存,直到代码通过 --reload 选项运行。(所以它离线也能工作)
      • 从远程 URL 加载的模块或文件应当是不可变且可缓存的。

      你应该学习 Deno 吗?

      坦率的说 Deno 是新东西,需要很大的努力,而且试错的成本很大。

      按照他们创始人的尿性,后面还会有很大的改动,而且目前还不完善。

      我的建议是,如果你是一个新手,打算且使用 JS 写服务器端,还不了解 Node,并且从未编写过任何 TypeScript 代码,那么就从 Node 开始吧。

      生产环境 Node 还是很稳的了;

      但是,如果你喜欢 TypeScript,想要在任何地方使用 await,但不想依赖项目中庞大的 npm 包,那么 Deno 可能就是你想要的。

      至于我自己为啥 Deno 刚出来就学,还出教程,这是因为我作为阿西河前端教程的站长,打算在网站发布类似的资源,所以我才研究的。

      学前必读

      通过我再不同平台的使用和真实测试,我非常推荐你使用 Linux 和 Mac 来搞;

      如果你是 Windows 机器,推荐使用 Git Bash 或者 微软新出的 Windows Terminal

      https://devblogs.microsoft.com/commandline/windows-terminal-1-0/

      如果不这样的话,请一定要看看本站的 Deno 在 Windows 上中文乱码的问题解决

      学前的技术储备

      Deno 包含一些简单的示例,您可以从中学到 Deno 的基本概念。

      Deno 教程内会假设您已经对 JavaScript 有过预先的了解,特别是 async/await

      但是如果你还不清楚,可以参考。

      如果您没有了解过 JavaScript,您可能需要先阅读本站的 JS 教程

      相关的 Deno 资料

      卖前端学习教程

      只需几十元,就能买到培训班的内部教程!开启高薪之路!

      零基础小白阿里P7的教程都有!

      同时长期收购所有培训班的前端教程

      目录
      目录