一、模块
模块的成员核心模块、第三方模块、自定义模块
核心模块
-
什么是核心模块:
- 跟随node.js 一同安装到本地的模块,叫和新模块
- 列如:fs 、http、path等模块,都是官方提供的核心模块
- 也就是说只要我们计算机中安装了node.js这个程序,那么我么电脑中就安装了所有的核心模块
-
怎么样再能使用核心模块:
- require(‘核心模块标识符’)
第三方模块
-
什么是第三方模块:
-
一些非官方提供的模块叫做核心模块
-
这些第三方模块并没有在我们的计算计
-
如果想要使用第三方模块我们需要去npm网站上搜索下载才能使用
-
-
如何使用第三方模块:
- 先从第三方网站下载
- 使用require(‘第三方模块名称标识’)到入模块
- 根据官方文档进行使用
用户自定义模块
- 什么是用户自定义模块:
- 程序员自己在项目中写的JavaScript文件,就是用户自定义模块
- 应该如何使用:
- 通核心模块和第三方模块使用一样,需要用require(‘路径标识符’)
注意:该路径是绝对路径
- 通核心模块和第三方模块使用一样,需要用require(‘路径标识符’)
二、什么是包
- 英文名叫做 Packages,在模块的基础上进行再次包装
- 包的目的:方便发布推广基于CommonJS规范实现的应用程序或者库
- 包也可以看做是模块、代码和其他资源的组合起来的独立作用域
规范包结构
-
包都是以一个单独的目录存在的
-
package.json必须存在包的顶层目录下,文件格式必须符合JSON格式,并且必须包含这三个属性:name version main
- name : 包的名称必须是唯一
- version :版本号
- main: 包的入口文件
-
二进制文件存在bin目录下;
-
JavaScript代码应该存在lib目录下;
-
文档应该存在doc目录下
-
单元测试应该存在test目录下;
-
Node.js对包要求没有那么严格,只要顶层目录下有package.json,并符合基本规范即可;
-
README.md说明文档
包的描述文件package.json
- name:包的名称,必须是唯一
- description:包的简要说明
- version:符合语义化版本识别规范的版本字符串
- keywords:关键字数据,通常用于搜索
- maintainers:维护者数组,每个元素要包含name、email、web可选字段
- contributors:贡献者数组,格式与maintainers相同。包的坐着应该是贡献者数据的第一个元素
- bugs:提交bug的地址,可以是网址或者电子邮件地址
- licenses:许可证数组,每个元素要包含type和url字段
- repositories:仓库托管地址数组,每个元素要包含type、url和path字段
- dependencies:包的依赖,一个关联数组,由包名称和版本号组成。
- devDependencies:开发依赖项,表示一个包在开发期间用到的依赖项