内置对象

yuhuo2022-08-18JavaScriptNodeJs

global

全局对象,类似浏览器环境中的 window 对象

// 自定义全局属性
global.abc = 1;
// 获取全局属性
console.log(global.abc);

__dirname

当前文件所在文件夹的绝对路径

// D:\Workspace\Web_yuhuo\Practice\topic\nodejs
console.log(__dirname);

require

导入其他模块

var math = require("math");

解析当前路径下默认导入的文件路径

// 返回:D:\Workspace\Web_yuhuo\practice\node_modules\sass\sass.node.js
path.resolve("D:\Workspace\Web_yuhuo\practice\node_modules\sass");

module

当前模块导出的数据

module.exports.sum = 1;
// exports 等于 module.exports,简写方式
exports.sum = 2;

process

pid

获取进程id

const pid = process.pid;

argv

node 传参

# 命令行传参
node demo.js one two=2 three
let argv = process.argv;
// [
//     "D:\Software\NodeJs\node.exe",  // node命令的路径
//     "D:\Workspace\Web_yuhuo\NodeJs\demo.js",  // 被执行文件的路径
//     "one", // 命令行参数
//     "two=2",
//     "three",
// ]

script 传参

{
	"scripts": {
        "demo": "node demo.js one",
    },
}
npm run demo two
let argv = process.argv;
// [
//     "D:\Software\NodeJs\node.exe",  // node命令的路径
//     "D:\Workspace\Web_yuhuo\NodeJs\demo.js",  // 被执行文件的路径
//     "one", // node参数
//     "two", // script参数
// ]

env

获取环境变量

const pid = process.env;
// { ALLUSERSPROFILE: 'C:\\ProgramData',
//   APPDATA: 'C:\\Users\\huoyu\\AppData\\Roaming',
//   CHROME_CRASHPAD_PIPE_NAME: '\\\\.\\pipe\\crashpad_936_HBEHBVYSXHODIBJT',        
//   CommonProgramFiles: 'C:\\Program Files\\Common Files',
//   ...
// }

exitCode

设置或获取退出码

process.exitCode = 1;

platform

获取为 Node.js 编译的平台,同 os.platform() 一样。

// darwin,freebsd,linux,openbsd,win32
const platform = process.platform;

cwd()

获取当前工作目录

let cwd = process.cwd();
// "D:\Workspace\Web_yuhuo\NodeJs"

exit()

立即终止进程

// 退出码:0 成功
process.exit(1);

kill()

终止进程

// 终止信号:SIGKILL 立即终止(等同exit()),SIGTERM 正常终止
process.kill(process.pid, 'SIGTERM');

on()

进程事件监听

process.on('SIGTERM', () => {
    // 进程终止前处理,如关闭服务器
  	server.close(() => {
    	console.log('Process terminated')
  	});
});

nextTick()

当次事件循环结束后执行回调

process.nextTick(() => {
  	// 做些事情
});

hrtime()

计算时间差(比用Date计算更加精准)

var time = process.hrtime();

/* 执行某些操作 */

// 使用上一次返回的结果做参数
// 返回整数数组:[秒, 纳秒],秒和纳秒相加就是时间差
var diff = process.hrtime(time);
Last Updated 2024/3/14 09:51:53