由Node.js之父Ryan Dahl所開發JavaScript執行環境Deno,推出了最新1.19版本,該版本兩大更新重點在於原生支援網頁串流,並且還加入deno vendor子指令,來滿足用戶自供應(Vendoring)相依項目的需求。

由於Deno開發者希望在程式碼儲存庫中,直接管理所使用的相依項目,因此官方在Deno 1.19中,加入deno vendor子指令。官方解釋,過去開發者要達到Vendoring的目的,便要將簽入(Check In)DENO_DIR到儲存庫,雖然這個方法有效,但是卻並不方便。DENO_DIR中的檔案是以16進位字串所構成的非直覺名稱,從版本控制的角度來說並不好。

Deno 1.19所提供的Vendoring新方法deno vendor子指令,當用戶想要對模組一個或是多個進入點Vendoring的時候,Deno能夠透過分析模組所有的匯入和匯出,並且從這些檔案建置模組圖,再將生成的模組列表寫入到vendor/資料夾中,必要的時候模組名稱或許會被更動,以產生有效的檔案系統路徑,但系統會盡量維持與原始模組相同。Deno會產生匯入映射表,將所有遠端模組映射到本地端vendor資料夾中。

Deno.FsFile和Deno.Conn介面現在分別具有ReadableStream和WritableStream類型的可讀和可寫屬性,所以能夠與其他網頁串流的Web API整合。由於Deno所有API都支援開箱即用的網頁串流,包括原生HTTP伺服器,因此開發者可以容易地組合這些API一起使用。

另外,在新版Deno中還添加了內建轉換器CompressionStream和DecompressionStream,官方提到,該網頁標準API,可以讓用戶將資料壓縮和解壓縮成多種檔案格式,目前這項API已經先在Chrome中提供,其他瀏覽器也可能很快地支援這項功能,而Deno也正在與網頁標準工作組合作,要在CompressionStream和DecompressionStream API中,添加受到Chrome、Opera和Firefox瀏覽器支援的brotli壓縮演算法。

由於開發者抱怨Deno命令列旗標操作不夠友善,當Deno檢查權限失敗時會拋出異常,而且需要用戶每次都提供這些旗標。因為這種做法太過煩人,因此官方現在做出調整,在Deno 1.19中,當未授予需要的存取權限,命令列會丟出提示,讓用戶以互動的方式接受或是拒絕每個存取檢查。

官方解釋,其實這項功能早已在Deno中提供,只是要使用—prompt旗標來啟用這項功能,但現在Deno預設啟用,如果用戶想要停用,則需要使用—no-prompt旗標。不過這項預設是只有在用戶連接至TTY時才會出現,因此不需要在像是CI腳本中使用—no-prompt旗標。

熱門新聞

Advertisement