node学习—基本内置模块

一、OS

1.EOL

  • string

操作系统特定的行末标志。
在 POSIX 上是 \n。
在 Windows 上是 \r\n。
在这里插入图片描述

2.arch

  • string

返回为其编译 Node.js 二进制文件的操作系统的 CPU 架构。 可能的值有:‘arm’、 ‘arm64’、 ‘ia32’、 ‘mips’、 ‘mipsel’、 ‘ppc’、 ‘ppc64’、 ‘s390’、 ‘s390x’、 ‘x32’ 和 ‘x64’。

返回的值等价于 process.arch。
在这里插入图片描述

3.cpus

  • object

返回一个对象数组,其中包含有关每个逻辑 CPU 内核的信息。

const os = require("os");
console.log(os.cpus().length);//CPU核数

在这里插入图片描述

4.freeman

  • integer

以整数的形式返回空闲的系统内存量(以字节为单位)。

const os = require("os");
console.log(os.freemem() / 2 ** 30);

在这里插入图片描述

5.homedir

  • string>

返回当前用户的主目录的字符串路径。
在这里插入图片描述

6.hostname

  • string

以字符串的形式返回操作系统的主机名。
在这里插入图片描述

7.tmpdir

  • string

以字符串的形式返回操作系统的默认临时文件目录。
在这里插入图片描述

二、path

1.path.basename

  • path :string
  • ext :string可选的文件扩展名。
  • 返回: string
const path = require("path");
const basename = path.basename("F:\\Java\\day04.doc");
console.log(basename);

在这里插入图片描述

const path = require("path");
const basename = path.basename("F:\\Java\\day04.doc",".doc");
console.log(basename);

在这里插入图片描述
匹配不到则返回原文件名

const path = require("path");
const basename = path.basename("F:\\Java\\day04.doc",".docx");
console.log(basename);

在这里插入图片描述

2.path.sep

  • string
  • Windows 上是 \。
  • POSIX 上是 /。
    提供平台特定的路径片段分隔符
const path = require("path");
console.log(path.sep);

在这里插入图片描述

3.path.delimiter

  • 提供平台特定的路径定界符:
  • ; 用于 Windows
  • : 用于 POSIX

在这里插入图片描述
每个系统的路径定界符不一样,用path.delimiter来分割。

const path = require("path");
console.log(process.env.PATH.split(path.delimiter));

在这里插入图片描述

4.path.dirname(path)

  • path: string
  • 返回: string
  • 返回 path 的目录名
const path = require("path");
const dir = path.dirname('a/b/c/d.doc');
console.log(dir);

在这里插入图片描述

5.path.extname(path)

  • path: string
  • 返回: string
const path = require("path");
const ext = path.extname('a/b/c/d.js');
console.log(ext);

在这里插入图片描述
如果没有后缀名则返回空字符串。

6.path.join([…paths])

  • …paths: string 路径片段的序列。
  • 返回: string
  • 将所有给定的 path 片段连接到一起(使用平台特定的分隔符作为定界符),然后规范化生成的路径。
const path = require("path");
const basePath = "a/b";
const fullpath = path.join(basePath, "../", "d.js");
console.log(fullpath);

在这里插入图片描述
可以灵活运用。

7.path.normalize(path)

  • path: string
  • 返回: string
  • path.normalize() 方法规范化给定的 path,解析 ‘…’ 和 ‘.’ 片段。

在这里插入图片描述

8.path.relative(from, to)

  • from: string
  • to: string
  • 返回: string
  • 根据当前工作目录返回 from 到 to 的相对路径。
const path = require("path");
const rel = path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
console.log(rel);

在这里插入图片描述

9.path.resolve([…paths])

  • …paths: string 路径或路径片段的序列。
  • 返回: string
  • path.resolve() 方法会将路径或路径片段的序列解析为绝对路径。
const path = require("path");
const absPath = path.resolve(__dirname, "./a.js");
console.log(absPath);

在这里插入图片描述

三、url

const URL = require("url");
const url = new URL.URL("https://nodejs.org:80/a/b/c?t=3&u=5#abc");
console.log(url);

在这里插入图片描述

console.log(url.searchParams.has("a"));
console.log(url.searchParams.has("t"));
console.log(url.searchParams.get("t"));

在这里插入图片描述

const obj = {
    href: "https://nodejs.org:80/a/b/c?t=3&u=5#abc",
    origin: "https://nodejs.org:80",
    protocol: "https:",
    username: "",
    password: "",
    host: "nodejs.org:80",
    hostname: "nodejs.org",
    port: "80",
    pathname: "/a/b/c",
    search: "?t=3&u=5",
    hash: "#abc"
  };
  
  const url = URL.format(obj);
  console.log(url);

在这里插入图片描述

四、util

1.util.callbackify(original)

  • original: Function async 异步函数。
  • 返回: Function 传统回调函数。
  • 将 async 异步函数(或者一个返回值为 Promise 的函数)转换成遵循异常优先的回调风格的函数
const util = require("util");

async function delay(duration = 1000) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(duration);
    }, duration);
  });
}
delay(500).then(d=>{
    console.log(d);
})

在这里插入图片描述

const delayCallback = util.callbackify(delay);
delayCallback(500, (err, d) => {
  console.log(d);
});

在这里插入图片描述

2.util.promisify(original)

  • original: Function
  • 返回: Function
  • 传入一个遵循常见的错误优先的回调风格的函数(即以 (err, value) => … 回调作为最后一个参数),并返回一个返回 promise 的版本。
function delayCallBack(duration, callback) {
  setTimeout(() => {
    callback(null, duration);
  }, duration);
}

const delay = util.promisify(delayCallBack);
delay(500).then(d=>console.log(d));

在这里插入图片描述
结合es7的async等

(async () => {
  const r = await delay(500);
  console.log(r);
})();

3.util.inherits(constructor, superConstructor)

  • constructor: Function
  • superConstructor: Function
  • 不建议使用 util.inherits()。 请使用 ES6 的 class 和 extends 关键词获得语言层面的继承支持

4.util.isDeepStrictEqual(val1, val2)

深度严格比较。

const obj1 = {
  a: 1,
  b: {
    c: 3,
    d: {
      e: 5
    }
  }
};

const obj2 = {
  a: 1,
  b: {
    c: 3,
    d: {
      e: 5,
      g: 6
    }
  }
};

console.log(util.isDeepStrictEqual(obj1, obj2));

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞羽逐星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值