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.

检索和设置字段的语法是在你的package.json中找到的嵌套对象属性的点分隔表示,它与用于npm view从注册表清单中检索信息的表示法相同,你可以在下面找到有关如何使用它的更多示例。

返回值始终为json格式。

  • npm pkg get <field> 检索key在你的package.json文件中定义的值。
    例如,为了检索当前包的名称,你可以运行:
    npm pkg get name

    也可以一次检索多个值:

    npm pkg get version

    你可以通过用句点分隔子字段来查看子字段。要检索测试script值的值,你可以运行以下命令:

    npm pkg get scripts.test

    对于数组字段,请求非数字字段将返回列表中对象的所有值。例如,要获取一个包的所有贡献者电子邮件,你可以运行:

    npm pkg get contributors.email

    你还可以使用方括号中的数字索引来专门选择数组字段中的项目。要获取列表中第一个贡献者的电子邮件地址,你可以运行:

    npm pkg get contributors[0].email
  • npm pkg set <field>=<value> 根据值value在您package.json的中 设置 a field。当保存到你的package.json文件时,使用期间使用的相同规则集 npm install和其他接触package.json文件的cli 命令,确保尊重现有的缩进,并可能在将值保存到文件之前应用一些验证。
    用于从包中检索值的相同语法也可用于定义新属性或覆盖现有属性,以下是如何使用点分隔语法编辑package.json文件的一些示例 。
    定义一个以mynewcommand命名的新 binpackage.json指向一个文件cli.js
    npm pkg set bin.mynewcommand = cli.js

    也可以一次设置多个字段:

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

    也可以添加到数组值,例如添加一个新的贡献者条目:

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

    你还可以使用特殊的空括号表示法将项目附加到数组的末尾:

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

    也可以在将值保存到package.json文件之前将它们解析为 json ,例如为了设置"private": true 属性:

    npm pkg set private = true --json

    它还可以将值保存为数字:

    npm pkg set tap.timeout = 60 --json
  • npm pkg delete <key> 删除package.json中的key
    用于从包中设置值的相同语法也可用于删除现有值。例如,为了删除名为 build 的脚本:
    npm pkg delete scripts.build

    工作区支持

    你可以使用workspaceworkspaces配置选项在配置的工作区中设置/获取/删除项目 。 例如,funding在项目的所有已配置工作区中设置一个值:

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

    npm pkg get用于从您配置的工作区检索信息时,返回的结果将采用 json 格式,其中顶级键是每个工作区的名称,这些键的值将是从每个配置的工作区返回的结果值,例如:

    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 主要更改)。
  • 允许取消发布已发布包的所有版本
  • 允许在根项目中安装冲突的 peerDependencies。--yes期间隐式设置npm init
  • 允许破坏现有值 npm pkg

如果你不清楚自己要做什么,强烈建议你不要使用此选项!

json

  • 默认值:false
  • 类型:Boolean

是否输出JSON数据,而不是正常输出。

npm pkg set它允许在将设置值保存到你的package.json.并非所有 npm 命令都支持。

workspace 工作区

  • 默认:
  • 类型:String(可多次设置)

允许在当前项目的已配置工作区的上下文中运行命令,同时通过仅运行此配置选项定义的工作区进行过滤。

workspace配置的有效值为:

  • 工作区名称
  • 工作区目录的路径
  • 父工作区目录的路径(将导致选择所有嵌套工作区)

为该npm init命令设置时,可以将其设置为尚不存在的工作区的文件夹,以创建该文件夹并将其设置为项目中的全新工作区。

此值不会导出到子进程的环境中。

workspaces 工作区

  • 默认值:false
  • 类型:Boolean

启用在所有已配置工作区的上下文中运行命令。

此值不会导出到子进程的环境中。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号