tl;博士:
- 是的,您可以将自定义条目添加到
package.json
.
- 选择一个键名:
- 尚未定义(详情如下)
- 不保留供将来使用(详情如下)
- 避免前缀
_
和$
- 并且最好使用单个顶级键来嵌套您的自定义条目。
例如,如果您拥有 domain example.org
,您可以将自定义random
键存储在反向域名表示法的顶级键中,并_
替换为.
and,如果适用,-
(请参阅注释)(例如,org_example
):
{
"name": "application-name"
, "version": "0.0.1"
, "private": true
, "dependencies": {
"express": "2.4.7"
, "jade": ">= 0.0.1"
}
, "org_example": {
"random": true
}
}
要读取此类自定义属性,请使用以下技术:
require("./package.json").org_example.random // -> true
npm
的package.json
文件格式大多符合CommonJS 包规范:
至于选择自定义键:CommonJS 包规范声明(强调我的):
以下字段为将来扩展保留: , , , , , , , , , , , , , , .build
default
email
external
files
imports
maintainer
paths
platform
require
summary
test
using
downloads
uid
对包描述符规范的扩展应努力避免未来标准名称的冲突,方法是使用与通用包管理无关的无害名称来命名它们的属性。
以下字段保留供软件包注册表自行决定使用:id
, type
. 所有以或开头的属性也保留_
$
给包注册表以供他们自行决定使用。