[Deno] Deno 從啥也沒有
到實現第一個API接口
一些廢話
Deno 1.0 的發佈已經有了約一個月的時間,短時間內也惹來了相當大的爭議,當然也早已經有不少目光看準了這個新平臺。
它具體能不能代替NodeJs,我覺得短期內還不能;NodeJs十餘年的發展已經使得它有了比較龐大的生態,市場也愈發的接近成熟,而Deno的出現,很顯然在這個後端語言百花齊放的時代並不是顯得那麼有競爭力。
據悉 Deno 的特性
- 使用 Ts 或 Js
- 去中心化Packages (沒有package.json)
- 安全控制(權限標識符)
- ES Modules
- Top level Await
- 標準庫
- 瀏覽器兼容的API
流程
- 安裝環境
- 創建並運行
安裝環境
更多詳細可見
Deno官網
1. 安裝 Deno 運行環境(以Windows爲例)
- 打開終端 (PowerShell)
- 輸入以下命令安裝軟件包:
iwr https://deno.land/x/install/install.ps1 -useb | iex
1. 安裝 Deno 運行環境(以Mac爲例)
- 打開終端
- 輸入以下命令安裝軟件包
curl -fsSL https://deno.land/x/install/install.sh | sh
- 如果你裝有Homebrew,也可以這樣安裝:
brew install deno
2. 驗證安裝
- 打開終端
- 輸入命令以驗證Deno是否安裝成功
deno
- 出現版本號 即安裝成功
- 會進入編輯模式,按 ctrl + d 退出
創建並運行 Deno
1. 創建文件
- 創建項目目錄,並創建文件,這裏我採用的TypeScript,所以文件名暫命名爲
01.ts
- 引入 官方的http標準庫,
https://deno.land/std/http/server.ts
(已經不是Node的CommonJs格式) - 注意:需要 網絡 來加載標準庫
import { serve } from "https://deno.land/std/http/server.ts";
const s = serve({ port:8008 });
console.log('http://localhost:8008/');
for await (const req of s){
req.respond({body:"Hello world!\n"});
}
- 因爲vscode的語法插件不能很好的支持deno,所以會有紅色波浪線提示錯誤,但實際是沒有錯的。可以在vscode拓展中安裝
deno
這個語法插件
2. 運行
- 標準運行格式爲
deno run ***文件名
,但一些操作需要權限,所以要在運行中加入權限標識符
--allow-read
讀文件權限--allow-write
寫文件權限--allow-net
允許網絡通信--allow-env
讀取環境變量- …
- 這裏只需要打開網絡通信功能,所以運行命令如下(
如遇防火牆攔截,一定要允許
)
deno run --allow-net 01.ts
- 將會開始下載依賴包,如果沒有出錯的話,將會顯示如下:
3. 訪問
- 這時我們打開瀏覽器,訪問
localhost:8008
,看到了返回值,至此一個簡單的deno API接口就搭建完成了