近日,Node 之父 Ryan Dahl 發佈新的開源項目 deno,從官方介紹來看,可以認爲它是下一代 Node,使用 Go 語言代替 C++ 重新編寫跨平臺底層內核驅動,上層仍然使用 V8 引擎,最終提供一個安全的 TypeScript 運行時。
特性
支持 TypeScript 2.8 開箱即用;
無 package.json,無 npm,不追求兼容 Node;
通過 URL 方式引入依賴而非通過本地模塊,並在第一次運行的時候進行加載和緩存,並僅在代碼使用–reload運行,依賴纔會更新,引入方式如:
import { log } from "./util.ts"
可以控制文件系統和網絡訪問權限以運行沙盒代碼,默認訪問只讀文件系統可訪問,無網絡權限。V8 和 Golang 之間的訪問只能通過 protobuf 中定義的序列化消息完成;
發生未捕捉錯誤時自動終止運行;
支持 top-level 的 await;
最終創建單一可執行文件;
目標是兼容瀏覽器;
可以作爲庫引入,用於建立自己的 JavaScript runtime。
總結
這幾個特性,有好幾個都是針對目前 Node 的痛點而來的,包括無 package.json、依賴的引入和更新方式,針對的就是被廣泛吐槽的過大的node_modules。
issue鬧劇
Deno還沒火,Deno的 issue火了。
Deno issue 的狂歡,是中國開發者的恥辱柱。一位中國開發者提了個issue,引發了大規模灌水,最後Ry不得不暫時關閉評論功能。
毫無意義的issue 是一種騷擾,開源作者貢獻給整個社區自己的勞動成果,然而卻缺少了應得的尊重,社區有社區的基本禮儀,望自重。
熱門文章
原創教程:
附加習題:
培訓費用:
合作推廣分割線