2021年,快速Deno上手指南 | 🏆 技术专题第九期征文

简介: 2021年,快速Deno上手指南 | 🏆 技术专题第九期征文

前言

又是一年春草绿。无数个技术框架在更新,在成长。那么,什么前景巨大呢?我想,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

image.png

更复杂的尝试

编写一个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

image.png

为什么会发生异常呢?

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

–allow-net – 访问网络

–allow-read – 读文件

–allow-write – 写文件

Deno标准库

Deno 提供一组标准模块,它们经过核心团队审计,保证能在 Deno 上工作。 标准库地址: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年,新的尝试,新的开始。快搞起来吧!!


活动链接: juejin.cn/post/693197…


目录
相关文章
|
6月前
|
弹性计算 Cloud Native 5G
藏经阁2023年书籍推荐
好书一起看,技术干货学习就上藏经阁。藏经阁收录内容涵盖编程语言、云原生、数据库、大数据、AI等热门技术领域,让开发者们享受阅读优质内容。这次为您带来2023年4月至2024年1月的书籍推荐。
|
6月前
|
安全
隐语实训营笔记 第二讲
隐私计算通过开源促进数据要素安全流通,解决外循环中的信任问题。隐语开源项目旨在实现数据可用不可见、可算不可识、可控可计量的原则,统一产品度量标准,降低接入难度,构建完备的信任链,以推动数据的开放与共享。
65 0
|
6月前
|
算法 安全 数据安全/隐私保护
隐语实训营笔记 第三讲
隐私计算框架“隐语”提供全面的隐私保护技术,包括PSI、PIR和联邦学习等算法,层次间低耦合,支持开放合作。产品层包含多样化应用,计算层涉及SPU、HEU、TEEU及密码库YACL,资源层有kuscia管理,强调互联互通和跨域管控,旨在实现安全的数据协作。
53 0
|
6月前
|
存储 运维 安全
隐语实训营笔记 第一讲
构建数据可信流通体系,确保来源确认、范围界定、过程追溯及风险防范。该体系基于密码学和可信计算,包含身份验证(如CA证书和远程验证)、使用权跨域管控、安全分级测评和全链路审计。可信数字应用身份验证和跨域管控保护数据免于滥用,同时维护上下游利益。通过隐私、可信和机密计算技术,实现数据流通的控制面和数据面的平衡,即“不可能三角”。全链路审计形成内外循环的管控体系,密态天空计算作为基础设施,支持密态数据流通,解决数据安全保险中的定责和定损问题。
38 0
|
图形学 Android开发 缓存
|
SQL 前端开发 JavaScript
前端周刊第二十八期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
前端周刊第二十八期
|
存储 前端开发 JavaScript
十五分钟读懂React 17 | 🏆 技术专题第六期征文
作为时下最火的前端框架之一,React每次发版都会带来创新的改变,如React最早提出虚拟DOM、React 16引入fiber架构,再到后来React 16.8提出令人耳目一新的Hooks,这些创新也是很多人推崇React的一个重要原因。然而,到了React 17,rc发布日志上竟然说这次版本最大的特点就是无新特性,从目前来说,这个日志是让很多人失望了。
368 0
|
运维 前端开发 JavaScript
学习Serverless的水货与干货笔记分享 | 🏆 技术专题第七期征文
前段时间看了一些Serverless的文章,恰好最近又听了一门Serverless的应用实践课程,就把笔记拿出来和大家分享一下,如表述有误还请各位斧正
|
Rust JavaScript 安全
2021年,快速Deno上手指南 | 🏆 技术专题第九期征文
又是一年春草绿。无数个技术框架在更新,在成长。那么,什么前景巨大呢?我想,Deno,值得拥有!
下一篇
无影云桌面