掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

Node.js process 模块常用属性和方法

如果不是和命令行工具打交道,可能我们很少有机会去用到process模块中的一些方法或者属性。不过如果你要做类似于webpack或者gulp等较为复杂的构建工具,由于bash界面就是和用户直接交流的工具,因此友好的输入输出,完整的提示都非常有必要了。

一张表格大概可以看到process有哪些属性

属性名称用途
platform判断当前系统平台
argv当前进程的命令行参数数组
execPath当前进程的可执行文件的绝对路径
stdout指向标准输出
stdin指向标准输入
stderr指向标准错误
stderr指向标准错误

我们可以直接在代码中这样使用

console.log(porcess.platform)  
// darwin

使用argv 会返回命令行的数组,我们可以通过数组来获取用户具体的命令

console.log(process.argv);  
// [ '/usr/local/bin/node',  '/Users/ali-130257n/www/weex-jackzoo/projects/demo.js', '-p', '-v' ]

一般情况下,我们更想获取最后的一些参数,前面两个不需要,我们可以

let args = process.argv.slice(2);  
console.log(args)

// [ '-p', '-v' ]

process 提供的方法有很多。大致我们可以用到的有下面一些。

cwd:返回运行当前脚本的工作目录的路径

abort:立即结束进程

nextTick: 指定下次事件循环首先运行的任务

process 支持的一些事件,通过一些事件,我们可做一些友好的提示或者处理。 
uncaughtException:当前进程抛出一个没有被捕捉的意外时,会触发uncaughtException事件

message: 接受来自父进程的消息

rejectionHandled:用于捕获与它关联的promise错误处理并且产生的reject

unhandledRejection: 同理这个便是用于捕获没有与之关联promise错误处理的reject

const unhandledRejections = new Map();  
process.on('unhandledRejection', (reason, p) => {  
  unhandledRejections.set(p, reason);
});
process.on('rejectionHandled', (p) => {  
  unhandledRejections.delete(p);
});

warning: 当前进程产生一个警告的时候出发

process.on('warning', (warning) => {  
  console.warn(warning.name);    // Print the warning name
  console.warn(warning.message); // Print the warning message
  console.warn(warning.stack);   // Print the stack trace
});

原文来自:Jack Pu's Blog

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

  • 行驶证查询

    根据车牌号码、姓名、车牌类型,返回行驶证详情信息。

    根据车牌号码、姓名、车牌类型,返回行驶证详情信息。

  • 行驶证查询简版

    输入车牌号码,返回:车牌号、品牌、车辆型号、发动机号、车辆识别码、车辆类型、营运性质、初次登记日期

    输入车牌号码,返回:车牌号、品牌、车辆型号、发动机号、车辆识别码、车辆类型、营运性质、初次登记日期

  • 车辆投保日期查询

    输入车牌号码、车辆类型或车架号,返回初次投保日期、上次交强险投保年月、最近交强险投保期启、最近交强险投保期止。

    输入车牌号码、车辆类型或车架号,返回初次投保日期、上次交强险投保年月、最近交强险投保期启、最近交强险投保期止。

  • 行驶证信息详情查询

    输入车牌号码、姓名、车牌类型,返回行驶证详情信息。

    输入车牌号码、姓名、车牌类型,返回行驶证详情信息。

  • VIN码查车五项

    调用车管所全量数据,通过输入车辆的VIN码,可直接查询车辆的车架号、发动机号、 品牌名称、初次登记日期、品牌型号等信息。

    调用车管所全量数据,通过输入车辆的VIN码,可直接查询车辆的车架号、发动机号、 品牌名称、初次登记日期、品牌型号等信息。

0512-88869195
数 据 驱 动 未 来
Data Drives The Future