【问题标题】:why npm add some property with underscore in package.json为什么 npm 在 package.json 中添加一些带下划线的属性
【发布时间】:2016-09-13 10:04:39
【问题描述】:

当我执行npm install koa-compose 时,npm 会自动添加一些带有下划线的属性,它们有什么作用?像这样:

{
  "_args": [
    [
      "koa-compose",
      "/Users/keenwon/Desktop/demo"
    ]
  ],
  "_from": "koa-compose@latest",
  "_id": "koa-compose@2.4.0",
  "_inCache": true,
  "_installable": true,
  "_location": "/koa-compose",
  "_nodeVersion": "5.7.0",
  "_npmVersion": "3.7.5",
  "_phantomChildren": {},
  "_spec": "koa-compose",
  "_where": "/Users/keenwon/Desktop/demo"
  "version": "2.4.0"
}

【问题讨论】:

  • 你的意思是在安装包的package.json,对吧?
  • 我也偶然发现了这个_from。将存储库克隆到两个文件夹中并在两个文件夹中运行 npm install 会产生几乎相同的文件夹。唯一的区别是这些_from 条目。有时它们在 httpshttps+git 上有所不同,但有时它们在版本字段中有所不同。什么给了?
  • @keenwon 我认为它是由npm 本身由 NPM 存储库添加并用作元数据。
  • 只是为了迂腐,它们是下划线,而不是下划线。
  • 虽然我不知道为什么,这个包可以很容易地删除它们:removeNPMAbsolutePaths

标签: node.js npm npm-install


【解决方案1】:

这是What are these properties prefixing underscore used for in package.json? 的副本 答:https://stackoverflow.com/a/42625703/6307425

这些是为包注册表保留的元数据。所有以 _ 或 $ 开头的属性都保留给包注册表以供他们自行决定使用。 wiki common “Reserved Properties”部分对此进行了解释。

【讨论】:

  • 这应该是评论吧?
猜你喜欢
  • 2017-07-26
  • 1970-01-01
  • 2011-09-26
  • 2014-04-12
  • 2014-09-28
  • 1970-01-01
  • 2021-10-02
  • 1970-01-01
  • 2017-12-23
相关资源
最近更新 更多