util实用工具 & os模块

1. util实用工具

  • util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心 JavaScript 的功能 过于精简的不足。
  • 使用方法如下:
const util = require('util');

① util.format(format[, ...args])

  • format 一个类似 printf 的格式字符串。
const util = require("util");

console.log(util.format("我的名字叫%s,今年%d岁。","张三",20));
// 我的名字叫张三,今年20岁。
  • util.format() 是一种用作调试工具的同步方法。 某些输入值可能会产生严重的性能开销,从而阻止事件循环。 请谨慎使用此功能,切勿在热代码路径中使用。

② util.promisify(original):

  • 传入一个遵循常见的错误优先的回调风格的函数(即以 (err, value) => ... 回调作为最后一个参数),并返回一个返回 promise 的版本。

  • 案例:

//1、没有使用promisify获取当前文件大小
const fs = require('fs');

let size = 0; //初始一个文件大小变量

fs.stat("./ddemo.js",(err,stats)=>{
    size = stats.size;
    //console.log('当前文件大小:',size); //此处可以获取到
});
console.log('当前文件大小:',size); //此处获取不到


//2. 使用promisify获取当前文件大小
const util = require('util');
const fs = require('fs');

const stat = util.promisify(fs.stat);
stat('./nd01.js').then((stats) => {
    console.log('当前文件大小:',stats.size);
}).catch((error) => {
      //处理错误。
});

③ util.types类型检测

  • util.types提供各种内置对象的类型检查 (推荐写法)
  • 以前是没有types,直接使用目前官方已经开始弃用。
const util = require('util');

util.isRegExp(/some regexp/)
  // true
util.isRegExp(new RegExp('another regexp'))
  // true
util.isRegExp({})
  // false

util.isRegExp(object)

  • 如果给定的参数 "object" 是一个正则表达式返回true,否则返回false。
const util = require('util');

//1. 正则类型验证
util.types.isRegExp(/some regexp/)
// true
util.types.isRegExp(new RegExp('another regexp'))
// true
util.isRegExp({})
// false


//2. 日期类型验证
console.log(util.types.isDate(new Date()));
// true
console.log(util.types.isDate(Date()));
// false (without 'new' returns a String)
console.log(util.types.isDate({}));
// false

2. OS模块

  • Node.js中的os模块提供了一些基本的系统操作函数。我们可以通过以下方式引入该模块,并使用:
const os = require("os");

console.log('CPU的字节序: ' + os.endianness());

console.log('操作系统名: ' + os.type());

console.log('操作系统的发行版本: ' + os.release());

console.log('编译时的操作系统名: ' + os.platform());

console.log('系统内存总量: ' + os.totalmem() + " bytes.");

console.log('操作系统空闲内存量: ' + os.freemem() + " bytes.");
  • 输出结果:
CPU的字节序: LE
操作系统名: Darwin
操作系统的发行版本: 18.7.0
编译时的操作系统名: darwin
系统内存总量: 17179869184 bytes.
操作系统空闲内存量: 64544768 bytes.

results matching ""

    No results matching ""