npm 包 pkg

2021-10-29 10:50 更新

管理 package.json

概要

npm pkg get [<field>[.<subfield> ...]]
npm pkg set <field>= <value> [.<subfield>= <value> ...]
npm pkg delete <field> [.<subfield>...]

描述

自動管理package.json文件的命令。?npm pkg提供 3 個不同的子命令,允許你修改或檢索package.json.

檢索和設(shè)置字段的語法是在你的package.json中找到的嵌套對象屬性的點分隔表示,它與用于npm view從注冊表清單中檢索信息的表示法相同,你可以在下面找到有關(guān)如何使用它的更多示例。

返回值始終為json格式。

  • npm pkg get <field> 檢索key在你的package.json文件中定義的值。
    例如,為了檢索當前包的名稱,你可以運行:
    npm pkg get name

    也可以一次檢索多個值:

    npm pkg get version

    你可以通過用句點分隔子字段來查看子字段。要檢索測試script值的值,你可以運行以下命令:

    npm pkg get scripts.test

    對于數(shù)組字段,請求非數(shù)字字段將返回列表中對象的所有值。例如,要獲取一個包的所有貢獻者電子郵件,你可以運行:

    npm pkg get contributors.email

    你還可以使用方括號中的數(shù)字索引來專門選擇數(shù)組字段中的項目。要獲取列表中第一個貢獻者的電子郵件地址,你可以運行:

    npm pkg get contributors[0].email
  • npm pkg set <field>=<value> 根據(jù)值value在您package.json的中?設(shè)置 a?field。當保存到你的package.json文件時,使用期間使用的相同規(guī)則集?npm install和其他接觸package.json文件的cli 命令,確保尊重現(xiàn)有的縮進,并可能在將值保存到文件之前應(yīng)用一些驗證。
    用于從包中檢索值的相同語法也可用于定義新屬性或覆蓋現(xiàn)有屬性,以下是如何使用點分隔語法編輯package.json文件的一些示例?。
    定義一個以mynewcommand命名的新 binpackage.json指向一個文件cli.js
    npm pkg set bin.mynewcommand = cli.js

    也可以一次設(shè)置多個字段:

    npm pkg set description = 'Awesome package'engines.node = '>=10'

    也可以添加到數(shù)組值,例如添加一個新的貢獻者條目:

    npm pkg set contributors[0] .name = 'Foo' contributors[0] .email = 'foo@bar.ca'

    你還可以使用特殊的空括號表示法將項目附加到數(shù)組的末尾:

    npm pkg set contributors[] .name = 'Foo' contributors[] .name = 'Bar'

    也可以在將值保存到package.json文件之前將它們解析為 json?,例如為了設(shè)置"private": true?屬性:

    npm pkg set private = true --json

    它還可以將值保存為數(shù)字:

    npm pkg set tap.timeout = 60 --json
  • npm pkg delete <key> 刪除package.json中的key
    用于從包中設(shè)置值的相同語法也可用于刪除現(xiàn)有值。例如,為了刪除名為 build 的腳本:
    npm pkg delete scripts.build

    工作區(qū)支持

    你可以使用workspaceworkspaces配置選項在配置的工作區(qū)中設(shè)置/獲取/刪除項目 。 例如,funding在項目的所有已配置工作區(qū)中設(shè)置一個值:

    npm pkg set fund= https://example.com --ws

    npm pkg get用于從您配置的工作區(qū)檢索信息時,返回的結(jié)果將采用 json 格式,其中頂級鍵是每個工作區(qū)的名稱,這些鍵的值將是從每個配置的工作區(qū)返回的結(jié)果值,例如:

    npm pkg 獲取名稱版本 --ws
    {
    "a": {
    "name": "a",
    “version”:“1.0.0”
    },
    "b":{
    "name": "b",
    "version":“1.0.0”
    }
    }

配置

force

  • 默認值:false
  • 類型:Boolean

刪除各種針對不幸副作用、常見錯誤、不必要的性能下降和惡意輸入的保護措施。

  • 允許在全局安裝中破壞非 npm 文件。允許npm version命令在不干凈的 git 存儲庫上工作。
  • 允許刪除緩存文件夾npm cache clean。允許安裝engines聲明要求不同版本的 npm 的包。
  • 允許安裝engines聲明要求不同版本 的包node,即使--engine-strict已啟用。
  • 允許npm audit fix在您聲明的依賴范圍之外安裝模塊(包括 SemVer 主要更改)。
  • 允許取消發(fā)布已發(fā)布包的所有版本
  • 允許在根項目中安裝沖突的 peerDependencies。--yes期間隱式設(shè)置npm init
  • 允許破壞現(xiàn)有值?npm pkg

如果你不清楚自己要做什么,強烈建議你不要使用此選項!

json

  • 默認值:false
  • 類型:Boolean

是否輸出JSON數(shù)據(jù),而不是正常輸出。

npm pkg set它允許在將設(shè)置值保存到你的package.json.并非所有 npm 命令都支持。

workspace 工作區(qū)

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

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

workspace配置的有效值為:

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

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

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

workspaces 工作區(qū)

  • 默認值:false
  • 類型:Boolean

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

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號