os
你可以指定你的模块要运行在哪些操作系统中:
“os” : [ “darwin”, “linux” ]你也可以用黑名单代替白名单,在名字前面加上“!”就可以了:
“os” : [ “!win32” ]操作系统用process.platform来探测。
虽然没有很好地理由,但它是同时支持黑名单和白名单的。
cpu
如果你的代码只能运行在特定的cpu架构下,你可以指定一个:
“cpu” : [ “x64”, “ia32” ]就像os选项,你也可以黑一个架构:
“cpu” : [ “!arm”, “!mips” ]cpu架构用process.arch探测。
preferGlobal
如果包主要是需要全局安装的命令行程序,就设置它为true来提供一个warning给只在局部安装的人。
它不会真正的防止用户在局部安装,但如果它没有按预期工作它会帮助防止产生误会。
private
如果你设置”private”: true,npm就不会发布它。
这是一个防止意外发布私有库的方式。如果你要确定给定的包是只发布在特定registry(如内部registry)的,用publishConfighash的描述来重写registry的publish-time配置参数。
publishConfig
这是一个在publish-time使用的配置集合。当你想设置tag或者registry的时候它非常有用,所以你可以确定一个给定的包没有打上“lastest”的tag或者被默认发布到全局的公开registry。
任何配置都可以被重写,但当然可能只有“tag”和“registry”与发布的意图有关。
参见npm-config(7)有可以被重写的列表。









