掌握聚合最新动态了解行业最新趋势
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

掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
Node.js process 模块常用属性和方法
发布:2016-12-13 15:56:55

如果不是和命令行工具打交道,可能我们很少有机会去用到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

选择想要的接口, 看看能免费获取多少次调用 选择(单选)或填写想要的接口
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
短信API服务
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
  • 确定
选择您的身份
请选择寻找接口的目的
预计每月调用量
请选择预计每月调用量
产品研发的阶段
请选择产品研发的阶段
×

前往领取
0512-88869195
数 据 驱 动 未 来
Data Drives The Future