前言

又是一年春草绿。无数个技术框架在更新,在成长。那么,什么前景巨大呢?我想,Deno,值得拥有!

Deno介绍

Deno是一个简单、现代、安全的JavaScript和TypeScript运行环境,它使用V8引擎,基于Rust开发。

V8是Chromium项目为GoogleChrome和ChromiumWeb浏览器开发的开源Java脚本引擎。

Rust是一种多范式编程语言,关注性能和安全性,特别是安全并发性。

Deno作为2020年正式发布的一款运行框架,具有以下特性:

  • 默认情况下是安全的。除非显式启用,否则不能访问文件、网络或环境。

  • 支持开箱即用的TypeScript。

  • 只分发一个独立的可执行文件(deno)。

  • 具有内置的实用程序,如依赖信息查看器(deno info)和代码格式化程序(deno fmt)。

  • 有一套经过审查(审核)的标准模块

Deno发展历史

Deno架构

Deno安装

安装相当简单。Deno 能够在 macOS、Linux 和 Windows 上运行。Deno 是一个单独的可执行文件,它没有额外的依赖。

安装Deno有两种方法。

  1. 官方下载,手动安装
  2. 使用命令,自动安装
官方下载

可以从官方的deno发布页面下载发布的文件。

以Windows操作系统为例,下载文件 deno-x86_64-pc-windows-msvc.zip ,解压缩之后,就是一个独立的可执行的exe文件。

命令安装

根据不同的系统,使用不同的安装工具

Shell (Mac, Linux):

$curl -fsSL https://deno.land/x/install/install.sh | sh

PowerShell (Windows):

$iwr https://deno.land/x/install/install.ps1 -useb | iex

Homebrew (Mac):

$brew install deno

Chocolatey (Windows):

$choco install deno

Scoop (Windows):

$scoop install deno

Build and install from source using Cargo

$cargo install deno

更多的安装说明,可以参考deno_install

Hello World

下载安装之后,我们可以实战我们的HelloWorld程序了。采用官方的Welcome.ts,进行演示。

下载Welcome.ts

运行命令 :

deno run https://deno.land/std/examples/welcome.ts

更复杂的尝试

编写一个ts文件

import { serve } from "https://deno.land/std@0.88.0/http/server.ts";
const s = serve({ port: 8000 });
console.log("http://localhost:8000/");
for await (const req of s) {req.respond({ body: "Hello,First Deno Program\n" });
}

运行

deno run --allow-net ts/test.ts

运行异常

上述更复杂的尝试,我们可以看到命令上加上了 --allow-net参数。

正常运行命令

deno run test.ts

为什么会发生异常呢?

默认情况下,Deno是安全的。因此,除非我们特别启用它,否则deno模块对文件、网络或环境没有多余的功能。所以,我们需要明确地授予权限。

–allow-net – 访问网络

–allow-read – 读文件

–allow-write – 写文件

Deno标准库

Deno 提供一组标准模块,它们经过核心团队审计,保证能在 Deno 上工作。 标准库地址:https://deno.land/std/

Deno第三方库

Deno可以从web上的任何位置导入模块。

为了更容易使用第三方模块,Deno提供了一些内置工具,如Deno info和Deno doc。

总结

让我们总结一下关于deno js入门的所有学习。

  • Deno不是node js的替代品。

  • Deno是 JavaScript和TypeScript的安全运行环境。

  • 如果广泛使用typescript,那么deno.js允许去掉额外的javascript编译器,比如babel。

  • Deno不使用npm,也不使用npm包.json.

如果仍有疑问,请参阅deno手册了解更多信息。

2021年,新的尝试,新的开始。快搞起来吧!!

2021年,快速Deno上手指南相关推荐

  1. OpenHarmony在Amlogic A311D芯片平台的快速开发上手指南

    OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景.全连接.全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联 ...

  2. 敲代码时如何快速移动光标_「ABB」ABB机器人快速示教上手指南

    一.机器人安全操作守则 由于机器人系统复杂而且危险性大,在练习期间,对机器人进行任何操作都必须注意安全.无论什么时候进入机器人工作范围都可能导致严重的伤害,只有经过培训认证的人员才可以进入该区域. 以 ...

  3. 分布式作业 Elastic-Job 快速上手指南

    转载自 分布式作业 Elastic-Job 快速上手指南 Elastic-Job支持 JAVA API 和 Spring 配置两种方式配置任务,这里我们使用 JAVA API 的形式来创建一个简单的任 ...

  4. TortoiseGit + GitHub 快速上手指南

    TortoiseGit + GitHub 快速上手指南 名词解释: 1. TortoiseGit 是 TortoiseSVN的Git版,它很好的实现了与windows资源管理器的融合,使用界面与Tor ...

  5. raptor累乘流程图_Markdown快速上手指南

    Markdown快速上手指南 1.Markdown介绍 markdown可以实现快速html文档编辑,格式优没,并且不需要使用html元素. markdown采用普通文本的形式,例如读书笔记等易于使用 ...

  6. 最新课程 | openGauss 快速上手指南课程即将开课

    点击蓝字|关注我们 2020 年 7 月 1 日,openGauss 数据库源代码正式开放,并成立了 openGauss 开源社区.恩墨学院与 openGauss 开源社区达成合作,为了推动社区技术生 ...

  7. NexentaStor iSCSI/ NAS 存储服务器软件图解教程(3)——NMV快速上手指南Part2

    NexentaStoriSCSI/NAS 存储服务器软件图解教程(3) Nexenta Management View (NMV)/*NexentaStor Web 管理界面*/快速上手指南Part ...

  8. HTAP 快速上手指南

    本指南介绍如何快速上手体验 TiDB 的一站式混合型在线事务与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 功能. 注意 ...

  9. Wwise 快速上手指南: 程序员篇(v2016.1)

    Wwise 快速上手指南: 程序员篇(v2016.1) https://gameinstitute.qq.com/community/detail/107700 Wwise 快速上手指南: 程序员篇 ...

最新文章

  1. 深入解剖unsigned int 和 int
  2. Windows环境下利用VS和mingw编译LLVM
  3. C指针原理(38)-C快速入门
  4. 兜兜转转一个圈,到底What is all you need?
  5. 中国新能源汽车供应链白皮书2020
  6. Qt5开发及实例学习之监听目录
  7. JavaScript运算符的概述分类及其优先级
  8. 练习12——二叉树与表达式
  9. 程序员5种编程入门方法,快速学会一门编程语言!
  10. 【渝粤题库】陕西师范大学201841 比较教育学 作业(专升本)
  11. SqlServer 2008还原数据库步骤
  12. Glide导致的RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap
  13. 人工智能+专业运维:企业联络中心的数字化转型
  14. 01 ArcGIS空间分析--水文分析--利用水文分析方法提取山谷山脊线
  15. 操作系统专栏——内存分配与回收
  16. js 根据百度地图提供经纬度计算两点距离
  17. 《信息学奥赛一本通》提高版题单
  18. 一字一句教你聊天,快速把女生聊“嗨”起来
  19. 考研 计算机组成原理大纲,2020计算机组成原理考研大纲解析
  20. androidapp打开微信小程序

热门文章

  1. 白色的风信子——刘继荣
  2. 趣拿洞察:盒马上海实现盈利背后的“玄机”
  3. Dijkstra算法和Floyed算法
  4. 公司oa系统必须要服务器么,oa系统需要购置云服务器吗
  5. docker 基础命令操作 镜像以及容器的基本操作演示
  6. 极客搜索爬取request payload构建post请求
  7. 网站空间配置和域名解析怎么选择
  8. .net mysql 变量_.net 数据库 全局变量
  9. Linux 系统删除文件名乱码的文件
  10. 2020疫情经济盘点:二手经济化身新消费风口