Node Js模块讲解

时间:2021-06-07 12:54:19

Node JS模块

所谓的Node JS模块其实就是指Node JS package,即nodejs包。

一 什么是NodeJS模块?

  在说这个问题之前,我们有必要提出一个概念,即模块规范。

现阶段JavaScript领域大体有三种比较流行的模块规范,一种是AMD规范,一种是CMD规范,

还有一种就是CommonJS规范。前两种专注于客户端,后者是服务端的规范。

  CommonJS规范说,一个单独的文件其实就是一个模块。在NodeJS红,一个模块可以是一个

单独的文件,也可以是一个包含多个文件(子模块)的目录。。CommonJS规范还要求模块都采用

统一的格式  exports或者module.exports导出模块接口。

二、如何导出NodeJS模块?

      首先,我们来回顾一下基础。

  在Node中,require一个文件实际上是在require这个文件定义的模块。所有的模块都拥有一个

  对隐式module对象的引用,当你调用require时实际上返回的是没module.exports属性。对于

  module.exports的引用同样也能写成exports。

  在每一个模块的第一行都隐式的包含了一行下面的代码:

Node Js模块讲解

注意:如果你想要导出一个函数,你需要将这个函数赋值给module.exports。将一个函数赋值给exports将会为

exports引用重新赋值,但是module.exports依然会指向原始的空对象。

因此我们可以像这样来定义一个function.js模块来导出一个对象:

Node Js模块讲解

然而在另一个文件中require这个模块:

Node Js模块讲解

require的一个重要行为就是它缓存了module.exports的值并且在未来再次调用require时返回同样的值。

以上就是全部内容了!!!