深入理解Nodejs Global 模块

2020-06-17 06:18:05易采站长站整理

__filename & __dirname

__filename: 返回当前模块文件的绝对路径(带文件名)
__dirname: 返回当前模块文件所在目录的绝对路径


// 1.js
console.log(__filename); // c:UserspercyDesktopnodejs1.js
console.log(__dirname); // c:UserspercyDesktopnodejs

Process 对象

process 对象是 nodejs 的一个全局对象,提供当前 nodejs 进程的信息。

属性

process.arch: 返回当前处理器的架构
process.env: 返回一个包含用户环境变量的对象
process.argv: 返回一个数组,数组的第一个元素总是 node 程序的绝对路径,第二个元素是当前执行脚本的绝对路径
process.execPath: 返回 node 程序的绝对路径
process.argv0: 返回 node 程序的绝对路径
process.pid: 返回当前进程的进程号
process.platform: 返回当前的系统平台标识符(比如:’darwin’, ‘freebsd’, ‘linux’, ‘sunos’ or ‘win32’)
process.version: 返回当前 node 的版本号
process.versions: 返回一个对象,列出了 nodejs 和其相关依赖的版本号

三个重要的属性

process.stdin: 返回一个指向标准输入流的可读流(Readable Stream)
process.stdout: 返回一个指向标准输出流的可写流(Writable Stream)
process.stderr: 返回一个指向标准错误流的可写流(Writable Stream)

方法

process.cwd(): 返回进程当前的工作目录
process.chdir(path): 改变进程当前的工作目录
process.cpuUsage(): 返回当前 CPU 的使用情况
process.memoryUsage(): 返回当前内存的使用情况
process.uptime(): 返回 Node 程序已运行的秒数
process.nextTick(callback[, …args]): 指定回调函数在当前执行栈的尾部、下一次Event Loop之前执行
process.emitWarning(warning[, options]): 触发一个 warning 事件,可以自定义一些警告信息
process.exit([code]): 立即结束当前进程,但是会触发 process 的 exit 事件
process.abort(): 立即结束当前进程,不会触发 exit 事件


console.log(process.cwd()); // c:UserspercyDesktopnodejs
process.chdir('../');
console.log(process.cwd()); // c:UserspercyDesktop


process.emitWarning('Something happened!', {
code: 'MY_WARNING',
detail: 'This is some additional information'
});
process.on('warning', (warning) => {
console.log(warning);
})


process.on('exit', function(code) {
console.log('exit~', code);
});
process.exit(); // exit~

process 对象还有一些方法没列出来,因为我现在看不懂怎么用,以后补 >_<