幾天前,有人在github的一個開源項目deno的issue區裏用中文發了一篇貼子:javascript
引來各類爭論,從而使得這個項目在短短几天時間裏就達到了8000
多星的熱度,到如今還在持續增加,也許這是團隊的一種反向營銷策略?前端
無論怎麼說,前端就是一個(至少在目前爲止)須要不斷學習的領域,說實在的,對於咱們這些學習狂來講,若是前端不是有這麼多好玩的能夠學的東西,咱們也不會參與到這個領域裏頭來。別人抱怨學不動的時候,偏偏是咱們開始努力進步的時候,有句話怎麼說來着:彎道超車。因此抓住這個機會,讓咱們來一窺deno
的真面目吧!java
deno
這個項目的發起者是ry,全名是Ryan Dahl
,這位大神也是每位前端一定要關注的神級人物之一,由於是他於2009
年寫出了Node.js
,才使javascript
語言脫離了前端語言這個狹義範疇,開始冠冕堂皇侵入後端。可是3
年後的2012
年,ry
離開了node
團隊,把團隊的管理權交給了另外一位大神isaacs,這位大神的表明做是——npm
。如今ry
從新出山,推出了deno
。關於deno
的評價,你能夠先簡單看一看這篇文章。node
其實deno
的安裝很簡單,你須要先安裝好一個go
語言的環境:git
brew install go
一般狀況下,它會在你的/Users/username
下創建一個名字叫go
的文件夾,之後全部跟go
語言相關的依賴包都會被安裝在這個文件夾裏,因此你須要設置2
個環境變量,一個是GOPATH
,指向這個文件夾,另外一個是PATH
,把/Users/username/go/bin
包含進來,而後go
語言的環境就創建好了。github
接下來,咱們開始用brew
安裝protobuf
:golang
brew install protobuf
由於咱們前面已經安裝好了go
語言的環境,因此咱們接下來安裝編譯deno
所須要的2
個go
語言依賴包:typescript
go get -u github.com/golang/protobuf/protoc-gen-go go get -u github.com/jteeuwen/go-bindata/...
v8worker2是deno
所依賴的最重要的一個包,這個包的體積也很大,超過了200
多m
,因此咱們先來安裝它:npm
go get -u github.com/ry/v8worker2 cd $GOPATH/src/github.com/ry/v8worker2 ./build.py --use_ccache
安裝好了v8worker2
以後,咱們就能夠開始安裝deno
了:後端
go get -u github.com/ry/deno/...
安裝好deno
以後,咱們須要編譯一下deno
才能運行:
cd $GOPATH/src/github.com/ry/deno make
好了,咱們來運行一下剛剛編譯好的deno
看看效果吧:
./deno testdata/001_hello.js
它的輸出很簡單,就是一行Hello World
,由於它的源代碼也很簡單:
console.log("Hello World");
這不就是你熟悉的javascript
嗎?
好了,到此爲止,那個別人抱怨學不動的deno
已經能夠成功地運行在你的電腦上了,你能夠進入到testdata
這個文件夾裏去看一看更多的基於javascript
和基於typescript
的例子,進一步瞭解deno。目前deno
還處於很早期很早期的開發階段,天天都有無數的問題正在被修復,但願deno
可以早日普及,使咱們後端基於javascript
和typescript
語言的開發環境變得更爲高效。