deno初体验/安装与helloworld

1 安装

①Windows安装

根据实践,curl/powershell,无论什么工具都好,总之下载速度不一定稳定,最简单的还是自己下载官方github预编译的exe,然后自己部署。
我在家用curl速度还能接受,在公司完全跑不起来,但是在公司用powershell安装速度起飞。

A. 下载编译好的可执行程序

github发布页下载官方编译好的程序,是一个zip压缩包,里面就一个简简单单的deno.exe程序,把它放到你喜欢的位置,我放在了D:\mytools\deno\deno.exe,那么添加个环境变量就可以使用了。

不会添加环境变量的同学,建议百度学习。

B. 使用curl命令

curl如何安装见百度,也是个命令行工具(linux和mac好像自带了)

curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.0.0

会默认安装到C:\Users\C\.deno下,可执行程序只有一个,会放到C:\Users\C\.deno\bin下。

C. 用自己安装自己(仅限升级)

deno upgrade --version 1.0.0

它会从github上获取最新的版本解压zip,然后替换掉现在的exe

D. 使用powershell

iwr https://deno.land/x/install/install.ps1 -useb -outf install.ps1; .\install.ps1 v1.0.0

如果出现下列报错:

iwr ... cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:71
+ ... /x/install/install.ps1 -useb -outf install.ps1; .\install.ps1 v0.38.0
+                                                     ~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnauthorizedAccess

说明没有允许执行脚本,开了就行:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

E. 使用chocolatey包管理工具

chocolatey类似linux上的yum或apt-get,它可以用命令行的方式给Windows安装python啦、docker-desktop啦、nodejs啦等等,甚至可以自己升级自己,感兴趣的同学自己搜索资料学习。

安装命令:

choco install deno

F. 使用Scoop包管理工具

和上面那位老兄chocolatey类似,也是一个包管理工具,可以为Windows安装各种软件包

安装命令:

scoop install deno
# 安装特定的版本
scoop install deno@0.22.0
# 切换0.22版本
scoop reset deno@0.22.0
# 切换到最新版本
scoop reset deno

G. 使用Homebrew包管理工具和Cargo管理工具

没完了是吧?

brew install deno
# or
cargo install deno

H. 环境变量

DENO_INSTALL环境变量是deno的安装目录,默认是各种操作系统的home目录的.deno目录。在Windows上,就是C:\Users\C\.deno

可以在使用powershell安装的时候更改路径:

$env:DENO_INSTALL = "C:\Program Files\deno"
iwr https://deno.land/x/install/install.ps1 -useb | iex

这样就安装到C:\Program Files\deno下了。

②mac和linux安装

没有环境,暂空。

③ 从源码安装

现在还没学,以后再说。

④ 测试

安装好后,命令行敲入命令

deno --version

反馈如下(或类似信息)即成功:

deno 1.0.0
v8 8.4.300
typescript 3.9.2

帮助请输入:

deno --help

2 helloworld

随便在哪新建一个js或者ts文件,写入这句经典的代码:

// helloworld.ts
console.log(`hello world`)

定位到这个文件的目录,使用命令:

deno run helloworld.ts

如果控制台能输出hello world,恭喜你,成功了。

2.1 远程的文件

假设在本机有一个http服务上的ts文件(你可以用任意工具架设):

// http://localhost:3111/helloworld.ts
console.log(`hello world`)

那么deno也可以这么运行:

deno run http://localhost:3111/helloworld.ts

3 进一步

deno是一个原生的js/ts运行时,就是能在机器上直接跑js/ts代码的环境,和nodejs很像(实际上出自同一个作者)。

它使用RustV8Tokio开发。

vs Node.js

  • deno没有npm这种东西了

    • 它的模块化仅仅通过URL传递,或者文件路径
  • 不需要package.json来组织逻辑了

  • 所有异步操作返回promise,所以deno提供了和node不一样的api

  • Deno需要文件、网络、环境访问的权限

  • 如果没有捕获错误,那么deno就会挂掉

  • 不用CommonJs的require()引入包,而是使用ES模块化import

    import * as log from "https://deno.land/std/log/mod.ts";
    

注意:

  • 远程代码第一次执行的时候才会下载,之后都是用缓存,除非你用--reload重新获取。

接下来,你需要学习的:

  • 指引文档:https://deno.land/manual

  • 标准模块:https://deno.land/std,通过url分发

  • 第三方模块

    deno可以从网络上任意位置导入模块,例如github、自己的云服务器、cdn(例如pika.dev或jspm.io,国内的冲啊!)

    deno提供了一些 内置工具以便第三方模块的使用,例如deno infodeno doc。deno官方把与他们合作的ES模块进行了托管,在https://deno.land/x中可以找到。

(0)

相关推荐

  • (新时代的程序猿利器)乐创DIY C语言讲义​——2.5节

    2.5 Visual studio code的使用 Visual sudio code真是一个非常优秀的软件,这点不可否认,我之前也用过Source insight和eclipse,最后直到遇见了VS ...

  • Windows之Chocolatey:windows下的apt-get即Chocolatey简介、安装、使用方法之详细攻略

    Chocolatey简介 Chocolatey 是 windows 下一款命令行包管理软件 ,简单说这就是 Windows 的 apt-get.习惯 Linux 操作方式并非常想用它操纵 Window ...

  • Python VSCode安装教程

    简介  接下来要安装的是Python环境和Visual Studio Code(简称VSCode)本地编辑器. Python环境的安装是为了让你的电脑能够运行Python程序. VSCode编辑器的 ...

  • 教你刷机到鸿蒙OS之4/9步预备:成功安装Scoop,领你踏入卓越之门

    我们的课程走到第四步,许多朋友都卡在了Scoop这个工具,遇到不能上Google的报错.本文将来解决此问题,考虑可能出现的多种报错,教程会有些啰嗦,但能确保你即使不上Google,就能成功装上Scoo ...

  • win11安装初体验

    6 月 25 日,微软正式发布了新一代 Windows 11 操作系统.Windows 11 的 UI 变化很大,首先是Windows图标变得更加方形,然后任务栏图标默认居中,让熟悉Windows的朋 ...

  • 【火腿DIY】经典老机八重洲FT-817控制显示板安装初体验:编程易、键控芯片亮了!

    使用过瑞士军刀的火腿小伙伴们都知道其功能的多样,多种功能集合在一起确实很赞叹,可是在赞叹的同时,我发现其使用起来并不方便,因为这些功能被严重折叠在一个狭小空间.这是电台小叔BG5WKP几年前在瑞士参加 ...

  • 得明亲子春令营初体验

    孩子身体的毛病,年龄越大,越难以根除,在无意识中影响他一生的发展,为解决这样的问题,得明健身在五一期间,特推出为期四天的,亲子春令营,锻炼.经络体检(建档并跟踪追访),给孩子一个健康光明的未来!!! ...

  • 【广东】夏雪晴《厨房初体验——凉拌海带丝》指导老师:林燕玲

    厨房初体验--凉拌海带丝 东华小学东城校区二年级 夏雪晴 一个风和日丽的早上,我开开心心地和外婆.妈妈一起去菜市场买菜,因为我今天要亲自尝试制作一道我最喜欢吃的美味菜肴--凉拌海带丝. 在制作之前,外 ...

  • 3千元贵在了哪?——贝纳利Tornado302赛道初体验

    前两天贝纳利正式发布了新款的飓风302,并以Tornado302的全新命名正式回归品牌,当然售价也回到了起初的29800元,在这个国产品牌降价的大潮,就有人质疑贝纳利是不是飘了? 品牌回归 29800 ...

  • 草堂小学之开学初体验

    成都学区房已获授权 本文是模仿另一篇热门文章<五朵金花小学的入读初体验-成师附小>,强行蹭热度. 开学已经2个多月了,草堂小学给我的总体感觉是那么好,放弃成外本部名额不亏. (请参考挨骂之 ...

  • 五朵金花之入读初体验——成师附小

    成都学区房已获授权 溜爸前言 这位家长是:跨城市搬到成都来读书的那种,之前还在东部一个沿海城市居住,现在已然来到成都,开始小学生活. 关于为什么要来成都,可查看这篇:上学是一件举家搬迁的事情,总要折腾 ...

  • Alibaba EasyExcel初体验

    简介 EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目.在尽可能节约内存的情况下支持读写百M的Excel.相对于Apache POI来说,EasyExcel是从磁盘上一行行 ...

  • 开塞露の初体验o(╥﹏╥)o

    姐不在江湖,但江湖却有姐的传说...... 我身体有一个鸡肋的生理本能,去到一个新的地方,开始的几天都很难排便. 刚上高中那阵子,要再学校住宿,周末才能回家. 这就让我那个神奇的生理特质兴奋过了头. ...