- 我昨天文章里面介绍了一下node.js看过的小伙伴应该都知道node.js是由模块和npm组成
- 今天我就来介绍一下什么模块和npm他们的作用是什么
首先什么是模块化 一个js文件引入另一个js文件同时可以用被引入文件的变量,数据,这种特性就称为模块化 模块化的优点 使用模块化开发可以很好的解决变量、函数名冲突问题,也能灵活的解决文件依赖问题。 模块化的发展 15年之前没有出es6语法的时候es5不支持模块化只能导包,借用第三方库来使用 sea.js和require.js ,后来es6出来以后node.js内部也支持模块化了
- node.js 中每一个模块都是独立的js文件,每个模块都可以完成特定的功能
使用自定义模块一共两个步骤
- 定义模块 创建一个js文件 对外导出希望导出的内容
- 使用模块在使用的地方导入模块文件
node.js中CommonJS 规范
- 导入其他模块 统一用require()函数
- 每个 .js 文件,都是一个独立的模块,模块内的成员都是私有的。
- 在每个 JS 模块中,使用 module.exports 向外共享成员。
导入与导出语法
module.exprots={它可以导出对象,数组,函数等等类型} 固定写法只能用一次
导出模块有两种方式
- exprots
- module.exprots 也可以看看图 导出的时候建议只用一种方式
初始exports和module.exports是指向同一块内存区域,其内容都是一个空对象
了解npm和包
npm全称Node Package Manager(node 包管理器),它的诞生是为了解决 Node 中第三方包共享的问题npm不需要单独安装。在安装Node的时候,会连带自动安装npm。npm -v检查安装的情况- 不花钱的超市www.npmjs,com 这个网站是上传自己写的包 和下载他人的包 上传和下载都是免费的
包和模块的关系 npm网站上去下载我们的需要的代码时,它们是以"包"这种结构放在npm网站上的。先来了解下包和模块的关系
- node.js中模块是一个单独的文件
- node,js中第三方模块又叫做包,第三包
- 包是多个模块的集合,一个模块的功能比较单一 ,所以通常一个包中包含多个模块
- npm 管理的单位是包。类似于网站和网页的区别:一个网站一般会包含多个网页