99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

npm 運行腳本 run-script

2021-10-29 10:51 更新

運行任意包腳本

概要

npm run-script <command> [--silent] [-- <args>...]


alias: npm run

描述

這會從包的"scripts"對象運行任意命令。如果沒有?"command"提供,它將列出可用的腳本。?run[-script]由 test、start、restart 和 stop 命令使用,但也可以直接調(diào)用。當包中的腳本打印出來時,它們被分成生命周期(測試、啟動、重啟)和直接運行的腳本。

從 開始npm@2.0.0,你可以在執(zhí)行腳本時使用自定義參數(shù)。getopt--使用?特殊選項來分隔選項的結(jié)尾。npm 會將 之后的所有參數(shù)直接傳遞給你的腳本:--

npm run test -- --grep="pattern"

參數(shù)只會傳遞給之后指定的腳本npm run?,不會傳遞給任何前腳本或后腳本。 該env腳本是一個特殊的內(nèi)置命令,可用于列出腳本在運行時可用的環(huán)境變量。如果包中定義了“env”命令,它將優(yōu)先于內(nèi)置命令。

除了 shell 預先存在的PATH,npm run添加?node_modules/.binPATH提供的腳本中。本地安裝的依賴項提供的任何二進制文件都可以在沒有node_modules/.bin?前綴的情況下使用。例如,如果你的包中有一個devDependencyon?tap,你應該寫:

"scripts": {"test": "tap test/\*.js"}

代替

"scripts": {"test": "node_modules/.bin/tap test/\*.js"}  

運行你的測試。

你的腳本在其中運行的實際 shell 取決于平臺。默認情況下,在類 Unix 系統(tǒng)上它是/bin/sh命令,在 Windows 上它是cmd.exe.?所指的實際外殼/bin/sh也取決于系統(tǒng)。由于npm@5.1.0可以自定義與外殼script-shell配置。

腳本從模塊的根目錄運行,無論您在調(diào)用npm run.?如果你希望腳本根據(jù)你所在的子目錄使用不同的行為,你可以使用?INIT_CWD環(huán)境變量,它保存你運行npm run.

npm runNODE環(huán)境變量設置為執(zhí)行的node可執(zhí)行文件npm。此外,如果--scripts-prepend-node-path通過,則將node駐留的目錄添加到?PATH.?如果--scripts-prepend-node-path=auto傳遞(這是npmv3 中的默認值),則僅當nodePATH.

如果你嘗試在沒有node_modules目錄的情況下運行腳本并且它失敗了,你將收到 run 警告npm install,以防萬一您忘記了。

你可以使用該--silent標志來防止npm ERR!在出錯時顯示輸出。

你可以使用該--if-present標志來避免在腳本未定義時以非零退出代碼退出。這使你可以在不中斷執(zhí)行鏈的情況下運行可能未定義的腳本。

工作區(qū)支持

你可以使用workspaceworkspacesconfigs 以便"scripts"在指定工作區(qū)的上下文中從包的對象運行任意命令。如果沒有"command"提供,它將列出每個配置的工作區(qū)的可用腳本。

給定一個配置了工作區(qū)的項目,例如:

.
+-- package.json
`-- packages
   +-- a
   |   `-- package.json
   +-- b
   |   `-- package.json
   `-- c
       `-- package.json

假設在根級別package.json文件中正確設置了工作區(qū)配置?。例如:

{
    "workspaces": [ "./packages/*" ]
}

并且每個配置的工作區(qū)都有一個配置的test腳本,我們可以使用workspaces配置在所有工作區(qū)中運行測試:

npm test --workspaces

過濾工作區(qū) 還可以使用workspace?配置以及名稱或目錄路徑在單個工作區(qū)中運行腳本:

npm test --workspace=a

workspace配置還可以以運行在多個工作區(qū)的背景下,特定的腳本中指定多次。workspace在命令行中為配置定義值時,也可以-w用作簡寫,例如:

npm test -wa -wb

最后一條命令將test./packages/a./packages/b?包中運行。

配置

workspace 工作區(qū)

  • 默認:
  • 類型:String(可多次設置)

允許在當前項目的已配置工作區(qū)的上下文中運行命令,同時通過僅運行此配置選項定義的工作區(qū)進行過濾。

workspace配置的有效值為:

  • 工作區(qū)名稱
  • 工作區(qū)目錄的路徑
  • 父工作區(qū)目錄的路徑(將導致選擇所有嵌套工作區(qū))

為該npm init命令設置時,可以將其設置為尚不存在的工作區(qū)的文件夾,以創(chuàng)建該文件夾并將其設置為項目中的全新工作區(qū)。

此值不會導出到子進程的環(huán)境中。

workspaces 工作區(qū)

  • 默認值:false
  • 類型:Boolean

啟用在所有已配置工作區(qū)的上下文中運行命令。

此值不會導出到子進程的環(huán)境中。

if-present 如果存在

  • 默認值:false
  • 類型:Boolean

如果為真,NPM不會有錯誤代碼時退出run-script被調(diào)用未在定義腳本scripts的部分package.json。當需要有選擇地運行存在的腳本并在腳本失敗時失敗時,可以使用此選項。這很有用,例如,在運行可能僅適用于其他通用 CI 設置中的某些構(gòu)建的腳本時。

ignore-scripts 忽略腳本

  • 默認值:false
  • 類型:Boolean

如果為 true,則 npm 不會運行 package.json 文件中指定的腳本。

請注意,明確用于運行特定腳本的命令,例如?npm start,?npm stop,?npm restart,?npm test, 并且npm run-script?如果ignore-scripts已設置仍將運行其預期腳本,但它們不會運行任何前置或后置腳本。

script-shell

  • 默認值:POSIX 系統(tǒng)上的“/bin/sh”,Windows 上的“cmd.exe”
  • 類型:nullString

用于腳本的 shell 與npm exec,npm runnpm init <pkg>命令一起運行。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號