Node.js 由三部分组成:ECMAScript 核心 + 全局成员 + 模块成员
模块成员的分类
模块成员,根据一些区别,又可以分为三大类: 核心模块、第三方模块、用户自定义模块
- 什么是核心模块:
- 随着Node.js的安装包,一同安装到本地的模块,叫做核心模块;
- 例如:
fs
,path
等模块,都是由Node.js官方提供的核心模块;- 只要大家在计算机中,安装了Node这个应用程序,那么,我们的计算机中就已经安装了所有的 核心模块;
- 如何使用核心模块:
require('核心模块标识符')
- 什么是第三方模块:
- 一些非官方提供的模块,叫做第三方模块;
- 注意,第三方模块,并不在我们的计算机上;
- 如果大家需要使用某些第三方模块,必须去一个叫做
NPM
的网站上搜索并下载才能使用;- 如何使用第三方模块:
- 先从 npm 官网上下载指定的第三方模块
- 使用
require('第三方模块的名称标识符')
来导入这个模块- 根据 第三方模块的 官方文档,尝试使用
- 什么是用户模块:
- 程序员在自己项目中写的 Javascript 文件,就叫做 用户自定义模块;
- 如何使用用户模块:
require('路径标识符')
包的定义和使用
一、什么是包
- 英文名叫做
Packages
,包是在模块基础上更深一步的抽象; - 包的目的:方便分发和推广基于 CommonJS 规范实现的 应用程序 或 类库;
- 包可以看作是 模块、代码 和 其它资源 组合起来形成的 独立作用域
二、规范的包结构
- 包都要以一个单独的目录而存在;
package.json
必须在包的顶层目录下;package.json
文件必须符合 JSON 格式,并且必须包含如下三个属性:name
,version
,main
- name: 包的名字
- version: 包的版本号
- main: 表示包的入口文件
- 二进制文件应该在bin目录下;
- javaScript代码应该在lib目录下;
- 文档应该在doc目录下;
- 单元测试应该在test目录下;
- Node.js对包要求并没有那么严格,只要顶层目录下有
package.json
,并符合基本规范即可;
★ 包描述文件 package.json【了解】
name:包的名称,必须是唯一
description:包的简要说明
version:符合语义化版本识别规范的版本字符串
keywords:关键字数据,通常用于搜索
maintainers:维护者数组,每个元素要包含name、email、web可选字段
contributors:贡献者数组,格式与maintainers相同。包的坐着应该是贡献者数据的第一个元素
bugs:提交bug的地址,可以是网址或者电子邮件地址
licenses:许可证数组,每个元素要包含type和url字段
repositories:仓库托管地址数组,每个元素要包含type、url和path字段
dependencies:包的依赖,一个关联数组,由包名称和版本号组成。
devDependencies:开发依赖项,表示一个包在开发期间用到的依赖项
案例:自创建一个计算机的包(依赖nodejs)
第一步:首先按照包规范创建包结构
1、新建一个calc文件夹
2、在calc文件夹中创建包结构文件,如下图
3、在每个模板文件里写入相应的功能内容
最后用一个总功能模块文件向外暴露功能
4、然后创建一个js文件导入这个计算器calc包,就可以使用计算器功能了