Deno 是一個(gè)命令行程序。到目前為止,看過(guò)這些示例后,您應(yīng)該熟悉了一些簡(jiǎn)單的命令,并且已經(jīng)了解了 shell 的基本用法。 這是查看主要幫助文檔的幾種方法:
## 使用子命令
deno help
## 使用短選項(xiàng) —— 輸出和上面一樣
deno -h
## 使用長(zhǎng)選項(xiàng) —— 輸出更加詳細(xì)
deno --help
Deno 的 CLI 是基于子命令的。上面的幫助命令應(yīng)該顯示了一個(gè)子命令列表,例如 deno bundle。 要查看特定于子命令的幫助,您可以參考以下示例:
deno help bundle
deno bundle -h
deno bundle --help
各個(gè)子命令的詳細(xì)指南在 這里。
Deno 可以從多個(gè)來(lái)源獲取腳本,一個(gè)文件名,一個(gè) URL,或者是 "-",表示從標(biāo)準(zhǔn)輸入讀取。后者在與其他應(yīng)用集成時(shí)很有用。
deno run main.ts
deno run https://mydomain.com/main.ts
cat main.ts | deno run -
通過(guò)在腳本名稱后指定參數(shù),您可以將用戶空間參數(shù)傳遞給要運(yùn)行的腳本,這些參數(shù)與 Deno 運(yùn)行時(shí)選項(xiàng)區(qū)分開(kāi)。 deno run main.ts a b -c --quiet // main.ts console.log(Deno.args); // [ "a", "b", "-c", "--quiet" ] 請(qǐng)注意,在腳本名稱之后傳遞的所有內(nèi)容都將作為腳本參數(shù)傳遞,而不會(huì)用作 Deno 運(yùn)行時(shí)選項(xiàng)。 這將導(dǎo)致以下陷阱:
## 正常情況:我們給 net_client.ts 授予網(wǎng)絡(luò)權(quán)限。
deno run --allow-net net_client.ts
## 錯(cuò)誤情況:--allow-net 傳遞為 Deno.args,引發(fā)網(wǎng)絡(luò)權(quán)限錯(cuò)誤。
deno run net_client.ts --allow-net
有人認(rèn)為這打破了常規(guī): 一個(gè)非位置選項(xiàng)的解析方式會(huì)根據(jù)位置變化。 然而: 這是區(qū)分運(yùn)行時(shí)選項(xiàng)和腳本參數(shù)的最合乎邏輯的方法。
下面是在相關(guān)的子命令之間共享的邏輯選項(xiàng)組。
完整性選項(xiàng)
影響可以將資源下載到緩存的命令:deno cache,deno run
和 deno test
.
--lock <FILE> 檢查指定的鎖文件
--lock-write 寫(xiě)入鎖文件,和 --lock 一起使用
更多信息在 這里。 緩存和編譯選項(xiàng) 影響可以增加緩存的命令:deno cache,deno run 和 deno test. 以及影響模塊解析、編譯配置等的選項(xiàng)。 --config <FILE> 加載 tsconfig.json 配置文件 --importmap <FILE> 不穩(wěn)定的: 加載導(dǎo)入映射文件 --no-remote 不要解析遠(yuǎn)程模塊 --reload=<CACHE_BLOCKLIST> 重新加載源代碼緩存(重新編譯 TypeScript) --unstable 啟用不穩(wěn)定 API
影響可以運(yùn)行用戶代碼的命令:deno run 和 deno test.
這里 列出了所有權(quán)限選項(xiàng)。
影響運(yùn)行時(shí)環(huán)境的更多選項(xiàng):
--cached-only 要求遠(yuǎn)程依賴已經(jīng)被緩存
--inspect=<HOST:PORT> 在 host:port 啟動(dòng)檢查器
--inspect-brk=<HOST:PORT> 在 host:port 啟動(dòng)檢查器并且暫停執(zhí)行
--seed <NUMBER> 指定 Math.random() 的隨機(jī)種子
--v8-flags=<v8-flags> 設(shè)置 V8 命令行選項(xiàng)
更多建議: