2.4 Deno命令行界面

命令行界面

Deno是一個命令行程序。到目前為止,您應(yīng)該已經(jīng)熟悉了一些簡單的命令,并且已經(jīng)了解了Shell使用的基本知識。

查看幫助的方法有多種:

# Using the subcommand.
deno help
# Using the short flag -- outputs the same as above.
deno -h
# Using the long flag -- outputs more detailed help text where available.
deno --help

Deno的CLI是基于子命令的。上面的命令應(yīng)該向您顯示受支持的列表,例如deno bundle。要查看針對的子命令特定的幫助 bundle,您可以類似地運(yùn)行以下之一:

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

有關(guān)每個子命令的詳細(xì)指南,請參見此處

腳本源

Deno可以從多個來源,文件名,URL和“-”中獲取腳本,以從stdin中讀取文件。最后一個對于與其他應(yīng)用程序集成很有用。

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

腳本參數(shù)

與Deno運(yùn)行時標(biāo)志分開,可以通過在腳本名稱后指定用戶空間參數(shù)來將它們傳遞給正在運(yùn)行的腳本:

deno run main.ts a b -c --quiet
// main.ts
console.log(Deno.args);
 // [ "a", "b", "-c", "--quiet" ]

請注意,在腳本名稱之后傳遞的所有內(nèi)容都將作為腳本參數(shù)傳遞,并且不用作Deno運(yùn)行時標(biāo)志。這導(dǎo)致了以下陷阱:

# Good. We grant net permission to net_client.ts.
deno run --allow-net net_client.ts
# Bad! --allow-net was passed to Deno.args, throws a net permission error.
deno run net_client.ts --allow-net

有人認(rèn)為這是非常規(guī)的:

非位置標(biāo)志的解析取決于其位置。

然而:

  1. 這是區(qū)分運(yùn)行時標(biāo)志和腳本參數(shù)的最合乎邏輯的方法。
  2. 這是區(qū)分運(yùn)行時標(biāo)志和腳本參數(shù)的最符合人體工程學(xué)的方法。
  3. 實際上,這是與任何其他流行的運(yùn)行時相同的行為。
    • 嘗試node -c index.jsnode index.js -c。第一個將僅index.js根據(jù)Node的-c標(biāo)志進(jìn)行語法檢查。第二個將 執(zhí)行 index.js-c傳遞require("process").argv

存在相關(guān)子命令之間共享的邏輯標(biāo)志組。我們在下面討論這些。

觀看模式

您可以提供--watch標(biāo)志以deno run啟用內(nèi)置文件監(jiān)視程序。當(dāng)Deno使用此標(biāo)志啟動時,它將監(jiān)視入口點(diǎn),并且入口點(diǎn)將靜態(tài)導(dǎo)入所有本地文件。只要更改磁盤上的這些文件之一,該程序就會自動重新啟動。

注意:文件監(jiān)視程序是一項新功能,仍然不穩(wěn)定,因此需要 --unstable標(biāo)記

deno run --watch --unstable main.ts

完整性標(biāo)志

影響可以下載資源到緩存命令deno cache, deno rundeno test

--lock <FILE>    Check the specified lock file
--lock-write     Write lock file. Use with --lock.

在這里找到更多關(guān)于這些的 信息。

緩存和編譯標(biāo)志

影響可以填充緩存命令deno cache,deno rundeno test。以及上面的標(biāo)志包括那些影響模塊分辨率,編譯配置等的標(biāo)志。

--config <FILE>               Load tsconfig.json configuration file
--import-map <FILE>           UNSTABLE: Load import map file
--no-remote                   Do not resolve remote modules
--reload=<CACHE_BLOCKLIST>    Reload source code cache (recompile TypeScript)
--unstable                    Enable unstable APIs

運(yùn)行時標(biāo)志

影響執(zhí)行用戶代碼的命令:deno rundeno test。這些包括以上所有內(nèi)容以及以下內(nèi)容。

權(quán)限標(biāo)志

這些在這里列出。

其他運(yùn)行時標(biāo)志

更多影響執(zhí)行環(huán)境的標(biāo)志。

--cached-only                Require that remote dependencies are already cached
--inspect=<HOST:PORT>        activate inspector on host:port ...
--inspect-brk=<HOST:PORT>    activate inspector on host:port and break at ...
--seed <NUMBER>              Seed Math.random()
--v8-flags=<v8-flags>        Set V8 command line options. For help: ...
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Deno可在macOS,Linux和Windows上運(yùn)行。Deno是單個二進(jìn)制可執(zhí)行文件。它沒有外部依賴。 [ht...
    9e8aeff1c70c閱讀 793評論 0 1
  • Deno 是什么? Node 之父創(chuàng)建的,功能和 Node.js 相同,但是更優(yōu)雅的運(yùn)行時。 為什么會有 Deno...
    本一和他的朋友們閱讀 716評論 0 0
  • 第一步 此頁面包含一些示例,以教您有關(guān)Deno的基礎(chǔ)知識。 本文檔假定您具有JavaScript的某些先決知識,尤...
    9e8aeff1c70c閱讀 357評論 0 1
  • 要高效地使用Deno,您應(yīng)該設(shè)置您的環(huán)境。這意味著設(shè)置shell自動完成,環(huán)境變量以及您選擇的編輯器或IDE。 [...
    9e8aeff1c70c閱讀 1,029評論 0 1
  • 2017/10/26 第一版:為什么要使用命令行,命令行和圖形界面的差別。如何在命令行下處理數(shù)據(jù)的幾個問題。201...
    xuzhougeng閱讀 1,099評論 1 7

友情鏈接更多精彩內(nèi)容