github发布页下载官方编译好的程序,是一个zip压缩包,里面就一个简简单单的deno.exe程序,把它放到你喜欢的位置,我放在了D:\mytools\deno\deno.exe
,那么添加个环境变量就可以使用了。
不会添加环境变量的同学,建议百度学习。
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
下。
deno upgrade --version 1.0.0
它会从github上获取最新的版本解压zip,然后替换掉现在的exe
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
chocolatey类似linux上的yum或apt-get,它可以用命令行的方式给Windows安装python啦、docker-desktop啦、nodejs啦等等,甚至可以自己升级自己,感兴趣的同学自己搜索资料学习。
安装命令:
choco install deno
和上面那位老兄chocolatey类似,也是一个包管理工具,可以为Windows安装各种软件包。
安装命令:
scoop install deno
# 安装特定的版本
scoop install [email protected]
# 切换0.22版本
scoop reset [email protected]
# 切换到最新版本
scoop reset deno
没完了是吧?
brew install deno
# or
cargo install deno
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
下了。
没有环境,暂空。
现在还没学,以后再说。
安装好后,命令行敲入命令
deno --version
反馈如下(或类似信息)即成功:
deno 1.0.0
v8 8.4.300
typescript 3.9.2
帮助请输入:
deno --help
随便在哪新建一个js或者ts文件,写入这句经典的代码:
// helloworld.ts
console.log(`hello world`)
定位到这个文件的目录,使用命令:
deno run helloworld.ts
如果控制台能输出hello world,恭喜你,成功了。
假设在本机有一个http服务上的ts文件(你可以用任意工具架设):
// http://localhost:3111/helloworld.ts
console.log(`hello world`)
那么deno也可以这么运行:
deno run http://localhost:3111/helloworld.ts
deno是一个原生的js/ts运行时,就是能在机器上直接跑js/ts代码的环境,和nodejs很像(实际上出自同一个作者)。
它使用Rust
、V8
和Tokio
开发。
deno没有npm这种东西了
不需要package.json来组织逻辑了
所有异步操作返回promise,所以deno提供了和node不一样的api
Deno需要文件、网络、环境访问的权限
如果没有捕获错误,那么deno就会挂掉
不用CommonJs的require()
引入包,而是使用ES模块化
的import
:
import * as log from "https://deno.land/std/log/mod.ts";
注意:
--reload
重新获取。