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 包规范声明(强调我的):
以下字段为将来扩展保留: , , , , , , , , , , , , , , .builddefaultemailexternalfilesimportsmaintainerpathsplatformrequiresummarytestusingdownloadsuid
对包描述符规范的扩展应努力避免未来标准名称的冲突,方法是使用与通用包管理无关的无害名称来命名它们的属性。
以下字段保留供软件包注册表自行决定使用:id, type. 所有以或开头的属性也保留_$给包注册表以供他们自行决定使用。