在Node.js中,可以通过包来对一组具有相互依赖关系的模块进行统一管理。一个包事实上就是一个目录,其中包含了用于对于包描述信息的JSON文件(也就是项目目录中的package.json文件)。一般来说,一个包会包含以下内容:
1. 在包的根目录中存放package.json文件
2. 在bin目录中存放二进制文件
3. 在lib目录中存放js文件
4. 在doc目录中存放对包或者包的使用方法的说明文档
5. 在test目录中存放进行测试的文件
一个package.json文件通常应该包含一下信息:
1. name:包名,是唯一的。由小写字母、数字和下划线组成,不能包含空格。
2. preferglobal:是否支持全局安装,由true和false构成。
3. description:包说明,进行一些简单的描述。
4. version:版本号
5. 其他,主要用来进行描述相关开发者的字段(auothor:作者,email:电子邮箱,web:作者个人主页)
6. maintainers:项目维护者的信息,用数组方式进行保存。
7. bugs:bug提交地址。
8. licenses:许可证数组,包含许可证名称(type)和链接地址(url)
9. repository:托管的在线仓库地址。包含仓库类型(type)和仓库链接(url)。
10. keywords:关键字。用于快速搜索。
11. dependencies:本包所依赖的其他的包,用数组的方式进行相关联。由包名和版本号组成。
12. devDependencies:本包实在开发环境中依赖其他的包。
13. peerDependencies:是为插件准备的,比如一些特殊的插件,不是采用包的方式进行封装,无法使用require去进行调用相关的模块。
14. engines: 指定工作的node的版本。如果设置此项或者用*号表示,代表所有node都适用。
15. os:指定相关模块可以运行在哪个操作系统中。当然可以在前面加入!号代表不适用。
"os" : [ "darwin", "linux" ]
需要更罗了解的可以去GitHub中学习:
现在再看自己当时写到的项目感觉很清晰了: