为什么npm在package.json中添加一些带下划线的属性

kee*_*won 8 node.js npm npm-install

当我执行时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"
}
Run Code Online (Sandbox Code Playgroud)

小智 1

这是重复的这些属性前缀下划线在 package.json 中用于什么? 答案:https ://stackoverflow.com/a/42625703/6307425

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