一、模块化
- 在 Node.js 中,一个 js 文件就是一个模块。
- 在 Node 中,每一行 js 文件中的 js 代码都是独立运行在一个函数中,而不是全局作用域,所以一个模块中的变量和函数,在其他模块中都是无法访问的。
二、向外部暴露属性或方法
我们可以通过 exports 来向外部暴露变量和方法,只需要将需要暴露给外部的变量或方法设置为 exports 的属性即可。
注意:除了使用 exports 的方法,我们还可以使用 module.exports,详细区别请查看 Node 浅谈module.exports与exports的区别 。
三、引入其他的模块
在 node 中,通过 require()函数来引入外部的模块。require()可以传递一个文件的路径作为参数, node 将会自动根据该路径来引入外部模块。
这里的路径,如果使用相对路径,必须以.
或..
开头。
使用 require()引入模块以后,该函数会返回一个对象,这个对象代表的就是引入的模块。
var md = require("./01module.js"); // .js后缀名可以不写
consloe.log(md);
我们使用 require()引入外部模块时,使用的就是文件模块,我们可以通过模块标识来找到指定的模块。
四、模块的分类
模块分为两大类,即:核心模块和文件模块。
- 核心模块:由 node 引擎提供的模块。核心模块的标识就是模块的名字,直接使用模块的名字对其进行引入即可,例:fs、path …
var fs = require("fs"); // 获取文件系统模块
var path = require("path"); // 获取路径模块
- 文件模块:由用户自己创建的模块。文件的标识就是文件的路径,需要通过文件的路径来对模块进行引入,路径可以是绝对路径,如果是相对路径必须以
./
或../
开头。
var 变量名 = require("文件的路径"); // 根据路径,获取文件