1.1、Node.js的包的概念
一个js
文件就是一个Node.js的模块。
一个功能可能会很复杂,也可能很简单,如果复杂,可能会使用几个js
文件编写, 很简单的话,可能只使用一个js
文件实现。 所以,当实现一个功能需要多个js
文件的时候,就需要以包方式组织众多的模块。
另外,我们通常还需要有版本管理、依赖管理、支持的最低Node.js runtime的版本信息等等一些其他的信息。 所以,光有模块的概念是不够的,这就需要引入包的概念。
Node.js的包
有如下特点:
- 一个文件夹。
- 该文件夹的根目录下有一个
package.json
配置文件。 - 该文件夹或者子文件夹中包含有一个或者多个模块加上
package.json
配置文件。
Node.js
的包
示例:
1.2、package.json
1.2.1、查看package.json的文档
npm help 5 package.json
1.2.2、创建package.json
npm init [[@scope/]packageName] [--force | -f | --yes | -y]
1.2.3、package.json中字段的含义
- name
在
package.json
中,最重要的就是
name
和
version
字段。他们都是必须的,如果没有就无法install。 想好名字之前先去
npm registry查看一下这个名字是否已经被使用了。
- version
version必须能被node-semver解析,它被包在npm的依赖中; name和version一起组成的标识在假设中是唯一的。改变包应该同时改变version
- private
如果你设置"private": true,npm就不会发布它; 这是一个防止意外发布私有库的方式。如果你要确定给定的包是只发布在特定registry(如内部registry)的, 用publishConfighash的描述来重写registry的publish-time配置参数
- scripts
“scripts”是一个由脚本命令组成的hash对象,他们在包不同的生命周期中被执行。 key是生命周期事件,value是要运行的命令。
- dependencies
依赖是给一组包名指定版本范围的一个hash。这个版本范围是一个由一个或多个空格分隔的字符串。 依赖还可以用tarball或者git URL
1.3、Node.js的包的管理器
1.4、常用的Node.js包
命令行工具 | |
Web开发框架 | |
HTTP | |
WebSocket | |
数据库驱动 | |
爬虫开发框架 | |
HTML解析 | |
时间处理 | |
日志框架 | |
模板引擎 | |
算法 | |
其他 | |