Deno初探

deno——destroy nodejs

5月13日,deno1.0正式发布。没赶上区块链热潮的睡魔总算是赶上了一波最新前沿技术。来谈谈我对deno的感受吧。

deno是用基于谷歌的V8引擎,通过rust语言来编写的。创建者写它的目的就是为了destroy nodejs。因为nodejs里的坑实在是太多了。官网:deno.land

  • 下载

    windows安装(powershell):

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

    mac和linux则通过包管理器很轻松的可以下载。

  • 尝鲜

    通过deno run filename命令来编译并运行文件

    • 首先,是对typescript的原生支持:

      const msg:string = "hello world"
      console.log(msg)
      

      13.png

    • 然后是对ES6export的支持:

      // 字符串反转
      
      // utils.ts
      export default function log(msg:string){
          console.log(msg.split('').reverse().join(''))
      }
      
      
      // index.js
      import log from './utils.ts'
      
      const msg:string = "hello world"
      log(msg)
      

      14.png

    • 并且可以像引入网络js一样引入网络上的模块

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

      要想运行这个文件,普通的deno run就不行了:

      15.png

      必须要在deno run后面加上--allow-net才可以:

      16.png

      这时,访问我们的localhost:8000就可以看到Hello World了!

      17.png

总的来说,deno还是一个新技术,并且还没成熟,目前可以当做玩具来使用,简单的学习一下用法就可以了。深读源码还是得看这个技术是否能火起来(毕竟还要再学一个rust。。。)区块链之所以那么火爆是因为它开创了新的交易方式,这种去中心化的网络是前所未有的,而deno只是在nodejs上进行了更新,虽然有了很多令人欣喜的特性,但是如果想一下就干翻nodejs是不太可能的。不过我们不同于职场老手,我们年轻,所以我们有试错的机会,如果我们赌deno赌对了,那么未来生活就不愁了。

加载评论