全局模块
定义:何时何地都可以访问,无需引用。
例一:process.env
process.env
是一个对象。包含当前计算机的基本信息,例如计算机名称、APPDATA地址等,以及当前计算机的环境变量(电脑 -> 属性 -> 高级 -> 环境变量)。
例二:process.argv
process.argv
返回命令行脚本的各个参数组成的数组。
// main.js
console.log(process.argv);
12
## cmd
C:\node-test>node main 1 2
[
'C:\\Program Files\\nodejs\\node.exe',
'C:\\node-test\\main',
'1',
'2'
]
12345678
通过上面的例子可以看出,命令通过空格拆分成数组。数组[0]是node命令文件的位置,数组[1]是运行文件的位置,之后的数组数值由输入的内容组成,数量不限,皆为字符串格式。
例三:__dirname
输出结果为字符串,表示当前文件所在路径。
process.cwd()
表示当前执行文件(nodejs的进程文件)所在路径,这两个全局变量是有区别的。
系统模块
定义:需要require()
,但不需要单独下载。
例一:path(路径)
用于处理文件路径和目录路径的实用工具。
具体 path 的属性和方法,可参考官网相关内容。
例二:fs(文件系统)
用于文件读写操作。
具体 fs 的属性和方法,可参考官网相关内容。
自定义模块
定义:require()
自己封装的模块。
require
用来引入需要的模块。
require 可参考官网相关文档
require()
路径的找寻规律:
- 如果有详细路径,就去详细路径里面找
- 如果没有就去node_modules里面找
- 最后到node安装目录里面找
exports
exports
变量是在模块的文件级作用域内可用的,且在模块执行之前赋值给 module.exports
。
exports
多用于单个变量导出,而 module.exports
多用于批量导出。
// exports的导出
exports.a = 1;
exports.b = 2;
// module.exports的导出,与上等同
module.exports = {
a: 1, b:2
}
12345678
exports 具体说明可参看官网相关内容。
module
在 Node.js 模块系统中,每个文件都被视为一个独立的模块。
module 具体说明可参看官网相关内容。
参考资料:
https://blog.csdn.net/qq_45473786/article/details/106326166
网友评论