Name:必须字段
- 最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头;
- 这个名字可能在require()方法中被调用,所以应该尽可能短;
- 不要在name中包含js, node字样;
Version:必须字段
Description:可选字段,必须是字符串。npm search的时候会用到。
KeyWords:可选字段,字符串数组。npm search的时候会用到。
HomePage:可选字段,没有http://等带协议前缀的URL。
Bugs:
可选字段,问题追踪系统的URL或邮箱地址;npm bugs用的上。
{ "url" :"http://github.com/owner/project/issues",
"email" :"project@hostname.com"
}
License:可选字段。
如果是使用一个普遍的license,比如BSD-3-Clause或MIT,直接使用:
{ "license" : "BSD-3-Clause" }
author,contributors:都是可选字段。author是一个人,contributors是一组人。
Author的格式如下:
{ "name" : "Barney Rubble",
"email" : "b@rubble.com",
"url" : "http://barnyrubble.tumblr.com/"
}
这种格式也可以:
"Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)"
Files:可选字段,项目包含的一组文件。如果是文件夹,文件夹下的文件也会被包含。如果需要把某些文件不包含在项目中,添加一个”.npmignore”文件。这个文件和”gitignore”类似。
Main:可选字段。这个字段的值是你程序主入口模块的ID。如果其他用户需要你的包,当用户调用require()方法时,返回的就是这个模块的导出(exports)。
Bin:
可选字段。很多的包都会有执行文件需要安装到PATH中去。
这个字段对应的是一个Map,每个元素对应一个{ 命令名:文件名 }。
Repository:可选字段,指示代码存放的位置。
Scripts:可选字段,object。Key是生命周期事件名,value是在事件点要跑的命令。参考npm-scripts。
Config:
可选字段,object。
Config对象中的值在Scripts的整个周期中皆可用,专门用于给Scripts提供配置参数。
Dependencies:可选字段,指示当前包所依赖的其他包。
devDependencies:可选字段。如果只需要下载使用某些模块,而不下载这些模块的测试和文档框架,放在这个下面比较不错。
os:可选字段,指定模块可以在什么操作系统上运行。
"os" : [ "darwin","linux" ]
"os" : [ "!win32" ]
https://blog.csdn.net/woxueliuyun/article/details/39294375