• deno初体验/安装与helloworld


    1 安装

    ①Windows安装

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

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

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

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

    B. 使用curl命令

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

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

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

    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:UsersC.deno

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

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

    这样就安装到C:Program Filesdeno下了。

    ②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中可以找到。

  • 相关阅读:
    【工具】sublime使用技巧
    怎样存钱利息最大及怎样买房付款最省钱问题
    存钱问题
    玛丽莲问题
    用线程做一个火车票购票系统(可以根据需要选择线程个数)
    系统编程拷贝文件或者目录(可以做出一个动态库哦)
    mysql优化-数据库设计基本原则
    项目 数据可视化1
    读书笔记2-三体
    python数据学习3 布林带
  • 原文地址:https://www.cnblogs.com/onsummer/p/12892541.html
Copyright © 2020-2023  润新知