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>...]

描述

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

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

返回值始終為json格式。

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

    也可以一次檢索多個(gè)值:

    npm pkg get version

    你可以通過(guò)用句點(diǎn)分隔子字段來(lái)查看子字段。要檢索測(cè)試script值的值,你可以運(yùn)行以下命令:

    npm pkg get scripts.test

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

    npm pkg get contributors.email

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

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

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

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

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

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

    你還可以使用特殊的空括號(hào)表示法將項(xiàng)目附加到數(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è)置值的相同語(yǔ)法也可用于刪除現(xiàn)有值。例如,為了刪除名為 build 的腳本:
    npm pkg delete scripts.build

    工作區(qū)支持

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

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

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

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

配置

force

  • 默認(rèn)值:false
  • 類型:Boolean

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

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

如果你不清楚自己要做什么,強(qiáng)烈建議你不要使用此選項(xiàng)!

json

  • 默認(rèn)值:false
  • 類型:Boolean

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

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

workspace 工作區(qū)

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

允許在當(dāng)前項(xiàng)目的已配置工作區(qū)的上下文中運(yùn)行命令,同時(shí)通過(guò)僅運(yùn)行此配置選項(xiàng)定義的工作區(qū)進(jìn)行過(guò)濾。

workspace配置的有效值為:

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

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

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

workspaces 工作區(qū)

  • 默認(rèn)值:false
  • 類型:Boolean

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

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)