Deno 命令行界面

2020-06-24 17:04 更新

Deno 是一個命令行程序。到目前為止,看過這些示例后,您應(yīng)該熟悉了一些簡單的命令,并且已經(jīng)了解了 shell 的基本用法。 這是查看主要幫助文檔的幾種方法:

## 使用子命令
deno help


## 使用短選項 —— 輸出和上面一樣
deno -h


## 使用長選項 —— 輸出更加詳細
deno --help

Deno 的 CLI 是基于子命令的。上面的幫助命令應(yīng)該顯示了一個子命令列表,例如 deno bundle。 要查看特定于子命令的幫助,您可以參考以下示例:

deno help bundle
deno bundle -h
deno bundle --help

各個子命令的詳細指南在 這里。

腳本來源

Deno 可以從多個來源獲取腳本,一個文件名,一個 URL,或者是 "-",表示從標準輸入讀取。后者在與其他應(yīng)用集成時很有用。

deno run main.ts
deno run https://mydomain.com/main.ts
cat main.ts | deno run -

腳本參數(shù)

通過在腳本名稱后指定參數(shù),您可以將用戶空間參數(shù)傳遞給要運行的腳本,這些參數(shù)與 Deno 運行時選項區(qū)分開。 deno run main.ts a b -c --quiet // main.ts console.log(Deno.args); // [ "a", "b", "-c", "--quiet" ] 請注意,在腳本名稱之后傳遞的所有內(nèi)容都將作為腳本參數(shù)傳遞,而不會用作 Deno 運行時選項。 這將導致以下陷阱:

## 正常情況:我們給 net_client.ts 授予網(wǎng)絡(luò)權(quán)限。
deno run --allow-net net_client.ts


## 錯誤情況:--allow-net 傳遞為 Deno.args,引發(fā)網(wǎng)絡(luò)權(quán)限錯誤。
deno run net_client.ts --allow-net

有人認為這打破了常規(guī): 一個非位置選項的解析方式會根據(jù)位置變化。 然而: 這是區(qū)分運行時選項和腳本參數(shù)的最合乎邏輯的方法。

  1. 這是區(qū)分運行時選項和腳本參數(shù)的最符合人體工程學的方法。
  2. 實際上,這和其他流行的運行時具有相同的行為。
  3. 試試 node -c index.js 和 node index.js -c,第一個只會根據(jù) -c 選項對 index.js 做語法檢查,而第二個會 執(zhí)行 index.js,將 -c 傳遞為 require("process").argv。

下面是在相關(guān)的子命令之間共享的邏輯選項組。 完整性選項 影響可以將資源下載到緩存的命令:deno cache,deno rundeno test.

--lock <FILE>    檢查指定的鎖文件
--lock-write     寫入鎖文件,和 --lock 一起使用

更多信息在 這里。 緩存和編譯選項 影響可以增加緩存的命令:deno cache,deno run 和 deno test. 以及影響模塊解析、編譯配置等的選項。 --config <FILE> 加載 tsconfig.json 配置文件 --importmap <FILE> 不穩(wěn)定的: 加載導入映射文件 --no-remote 不要解析遠程模塊 --reload=<CACHE_BLOCKLIST> 重新加載源代碼緩存(重新編譯 TypeScript) --unstable 啟用不穩(wěn)定 API

運行時選項

影響可以運行用戶代碼的命令:deno run 和 deno test.

權(quán)限選項

這里 列出了所有權(quán)限選項。

其他運行時選項

影響運行時環(huán)境的更多選項:

--cached-only                要求遠程依賴已經(jīng)被緩存
--inspect=<HOST:PORT>        在 host:port 啟動檢查器
--inspect-brk=<HOST:PORT>    在 host:port 啟動檢查器并且暫停執(zhí)行
--seed <NUMBER>              指定 Math.random() 的隨機種子
--v8-flags=<v8-flags>        設(shè)置 V8 命令行選項
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號