一、模块的作用
把实现某个功能的函数,放到单独 js 文件中,这个 js 文件就被称模块(module),其他代码只需导入这个 js 文件,即可使用其功能,达到代码复用的目的。当然除了函数,还可以把变量、class放到模块中,实现代码复用。
二、全局变量
模块被 Node.js 加载时,会用函数将其进行包裹,所以就有了5个模块内全局变量:
// Node.js 包裹模块的函数如下:
(function(exports, require, module, __filename, __dirname) {
// 实际模块代码,在这里
});
-
exports : 将本模块接口进行导出。另一种表达方式是
module.exports
。 -
require : 包含本模块导入其他模块的信息。
require.main
等同于module
。 -
module :指向当前模块的引用,包含当前模块的路径、目录等信息。
-
__filename :表示当前模块文件的路径(包含模块文件名的全路径)
-
__dirname :表示当前模块所在文件夹的路径