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

  Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.maiziedu.com/course/694/有所帮助。

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

  属性名称用途

  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

  });

时间: 2024-11-03 21:54:06

Node.js process 模块常用属性和方法的相关文章

Node.js -- Router模块中有一个param方法

这段时间一直有在看Express框架的API,最近刚看到Router,以下是我认为需要注意的地方: Router模块中有一个param方法,刚开始看得有点模糊,官网大概是这么描述的: 1 Map logic to route parameters. 大概意思就是路由参数的映射逻辑 这个可能一时半会也不明白其作用,尤其是不知道get和param的执行顺序 再看看源码里面的介绍: 1 2 3 Map the given param placeholder `name`(s) to the given

js数组对象以及数组常用属性和方法

定义形式: var  arr1 = new Array(1,  5,  8,  7,  2,  10);  //定义了一个数组,其中具有6个数据 var  arr2 = new Array();                   //只是单纯地定义了一个数组(名),但没有给值(数据),即现在是空的 var  arr3 = [1,  5,  8,  7,  2,  10];  //同arr1,只是一种简写的定义法. var  arr4 = [ ];                  //同arr

js字符串常用属性和方法

字符串声明: var str1 = new String(“abcdefgabc”);      //这是一个“字符串对象” var str2 = “abcdefgabc”;                            //这个字符串跟前面str1几乎没有区别 str.length——获得一个字符串的长度(也就是字符个数) 字符串对象的方法: str1.charAt( n );       ——获得字符串str1中位置为n的那个字符(字符的位置也是从0开始算起)var s1 = str

JS基础13-DOM访问表格子元素的常用属性和方法

一.DOM访问表格子元素的常用属性和方法如下: caption 返回表格的标题对象 rows 返回该表格里的所有表格行(数组) tbodies 返回该表格里所有<tbody.../>元素组成的数组 tfoot 返回该表格里所有<tfoot.../>元素 thead 返回该表格里所有<thead.../>元素 二.通过rows[index]返回表格指定的行所对应的属性: cells 返回该表格行内所有的单元格组成的数组 rowIndex 返回该表格行在表格内的索引值 se

Node.js 的模块系统

Node.js的模块系统是借鉴 CommonJS 的 Modules 规范实现的,因此,下面我们需要先了解 CommonJS 的 Modules 规范,希望对大家学习Node.js有所帮助. CommonJS 的 Modules 规范 CommonJS 对模块的定义非常简单,主要分为 模块引用.模块定义和模块标识三个部分. 1. 模块引用 - require() 方法 2. 模块定义 - module.exports 对象 3. 模块标识 - 传递给 require() 方法的参数 通过 Com

Node.js之模块机制

文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 其实在JavaScript的发展中,它主要是在浏览器前端中被应用广泛.因为在实际应用中, JavaScript的表现能力主要取决于宿主环境的API支持程度, 在最早期,只有对BOM, DOM的支持,随着HTML5的出现,在浏览器中出现了更多,更强大的API供JavaScript调用,但是这些都是发生在前端,后端JavaScript的规范却远远落后.Java有class文件,Phthon有import机制,P

node.js 16 模块系统

本文参考原文-http://bjbsair.com/2020-03-22/tech-info/2817/ const?http?=?require('http') 在node.js中,一个应用程序由若干模块组成,而这些模块,我们可以理解为是一个JavaScript文件,以.js结尾的文件. 原生模块 对于上述的'http'是原生模块,在node.js安装后是系统自带的.使用模块时只需要通过 require 进行引入即可. 在这段代码中,使用require函数来引用http模块,该函数返回http

Node.js(二)——模块与包管理工具

http,process等等这些都是模块 一.Node.js的模块与Commonjs规范 1.js的天生缺陷--缺少模块化管理机制 ·表现--JS中容易出现变量被覆盖,方法被替代的情况(既被污染).特别是存在依赖关系时,容易出现错误.这是因为JS缺少模块管理机制,来隔离实现各种不同功能的JS判断,避免它们相互污染. ·解决--经常采用命名空间的方式,把变量和函数限制在某个特定的作用域内,人肉约定一套命名规范来限制代码,保证代码安全运行.jQuery中有许多变量和方法,但是无法直接访问,必须通过j

Node.js:模块

概要:本篇博客主要介绍node.js的模块 1.创建模块 在node.js中创建一个模块非常简单,因为一个文件就是一个模块.我们只需要明白如何从其他文件中获取这个模块.Node.js提供了 exports 和 require 两个对象,其中exports是模块的公开接口,require用于从外部获取一个模块的接口,即所获取模块的exports对象.看下面的例子. 创建一个module.js的文件,内容是: var name; exports.setName = function(thyName)