模块和npm包

230 阅读2分钟
  • 我昨天文章里面介绍了一下node.js看过的小伙伴应该都知道node.js是由模块和npm组成
  • 今天我就来介绍一下什么模块和npm他们的作用是什么

首先什么是模块化 一个js文件引入另一个js文件同时可以用被引入文件的变量,数据,这种特性就称为模块化 模块化的优点 使用模块化开发可以很好的解决变量、函数名冲突问题,也能灵活的解决文件依赖问题。 模块化的发展 15年之前没有出es6语法的时候es5不支持模块化只能导包,借用第三方库来使用 sea.js和require.js ,后来es6出来以后node.js内部也支持模块化了

  • node.js 中每一个模块都是独立的js文件,每个模块都可以完成特定的功能

使用自定义模块一共两个步骤

  1. 定义模块 创建一个js文件 对外导出希望导出的内容
  2. 使用模块在使用的地方导入模块文件

node.js中CommonJS 规范

  1. 导入其他模块 统一用require()函数
  2. 每个 .js 文件,都是一个独立的模块,模块内的成员都是私有的。
  3. 在每个 JS 模块中,使用 module.exports 向外共享成员。

导入与导出语法

image.png

image.png

module.exprots={它可以导出对象,数组,函数等等类型} 固定写法只能用一次

导出模块有两种方式

  1. exprots
  2. module.exprots 也可以看看图 导出的时候建议只用一种方式

image.png

初始exports和module.exports是指向同一块内存区域,其内容都是一个空对象

了解npm和包

  • npm 全称 Node Package Manager(node 包管理器),它的诞生是为了解决 Node 中第三方包共享的问题
  • npm 不需要单独安装。在安装Node的时候,会连带自动安装npm
  • npm -v检查安装的情况
  • 不花钱的超市www.npmjs,com 这个网站是上传自己写的包 和下载他人的包 上传和下载都是免费的

包和模块的关系 npm网站上去下载我们的需要的代码时,它们是以""这种结构放在npm网站上的。先来了解下包和模块的关系

image.png

  1. node.js中模块是一个单独的文件
  2. node,js中第三方模块又叫做包,第三包
  3. 包是多个模块的集合,一个模块的功能比较单一 ,所以通常一个包中包含多个模块
  4. npm 管理的单位是包。类似于网站和网页的区别:一个网站一般会包含多个网页