Node.js的包
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中,最重要的就是nameversion字段。他们都是必须的,如果没有就无法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解析
时间处理
日志框架
模板引擎
算法
其他