Node的核心模块

  • os模块
  • util模块
  • path模块
  • url模块
  • querystring模块

os模块

os模块提供一些操作系统相关的实用方法。

导入模块:

const os = require('os');

相关方法:

const os = require('os');
console.log('操作系统类型:' + os.type());
console.log('操作系统平台: ' + os.platform());
console.log('系统内存总量:' + os.totalmem() + " 字节");
console.log('空闲内存量:' + os.freemem() + " 字节");
console.log('CPU信息:');
console.log( os.cpus());
/* 输出的内容:
操作系统类型:Windows_NT
操作系统平台: win32
系统内存总量:8394625024 字节
空闲内存量:2223927296 字节
CPU信息:
[{model: 'Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz',speed: 1800,times: {user: 1434140,nice: 0,sys: 1499906,idle: 23970421,irq: 217359}},{model: 'Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz',speed: 1800,times: { user: 680203, nice: 0, sys: 812812, idle: 25410812, irq: 16171 }},{model: 'Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz',speed: 1800,times: {user: 2487218,nice: 0,sys: 1683328,idle: 22733265,irq: 35000}},{model: 'Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz',speed: 1800,times: { user: 1044765, nice: 0, sys: 928296, idle: 24930750, irq: 14171 }},{model: 'Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz',speed: 1800,times: {user: 1513406,nice: 0,sys: 1245687,idle: 24144718,irq: 27218}},{model: 'Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz',speed: 1800,times: { user: 796546, nice: 0, sys: 811687, idle: 25295578, irq: 15187 }},{model: 'Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz',speed: 1800,times: {user: 1450843,nice: 0,sys: 1289453,idle: 24163515,irq: 19906}},{model: 'Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz',speed: 1800,times: {user: 1196015,nice: 0,sys: 1010640,idle: 24697156,irq: 21734}}
]
*/

util模块

util模块主要用于支持Node.js内部API的需求。
提供的大部分实用工具可用于应用程序与模块开发

导入模块:

const util = require('util');
  • util.inspect(object[, options])
    返回对象的字符串表示,主要用于调试。
const util = require('util');
console.log(util.inspect(util, { showHidden: true, depth: null }));
  • util.format(format[, ...args]):返回一个格式化后的字符串。
// 返回: '蓝天白云:%s'
util.format('%s:%s', '蓝天白云');// 返回'环境优美:绿水青山 蓝天白云'
util.format('%s:%s', '环境优美', '绿水青山', '蓝天白云'); // 返回'1 2 3'
util.format(1, 2, 3);

path模块

提供了一些工具方法,用于处理文件与目录的路径。
导入模块:

const path = require('path');
  • path模块最大的用处是解决多平台目录路径问题。
  • path模块默认会根据Node.js应用程序运行的操作系统的不同而变化。
  • 要想在任何操作系统上处理Windows文件路径时获得一致的结果,可以使用path模块的path.win32属性。
  • Node.js在Windows系统上遵循单驱动器工作目录的理念。

属性:

  • path.delimiter:提供平台特定的路径分隔符,Windows上是";",POSIX上是":"。
  • path.sep:提供平台特定的路径分段分隔符。Windows上是"\",POSIX上是"/"。

方法:

  • path.normalize(path):对路径进行规范化,并解析“…”和“.” 。
  • path.dirname(path):返回路径的目录名,类似于UNIX中的dirname命令。
  • path.basename(path[, ext]):返回路径中的最后一部分,可选的ext参数表示文件扩展名。
  • path.extname(path):返回路径中文件的后缀名,即路径中最后一个“.”之后的部分。
  • path.parse(path):返回完整路径的一个对象。
  • path.format(pathObject):从一个对象表示的路径返回一个字符串表示的路径。
  • path.resolve([...paths]):将一个路径或路径片段的序列解析为一个绝对路径。
  • path.relative(from, to):返回从参数from到to的相对路径(基于当前工作目录)。
  • path.join([...paths]):使用平台特定的分隔符将路径片段序列连接到一起,并规范生成的路径。
  • path.isAbsolute(path):判定路径是否为一个绝对路径。
const path=require('path');
console.log('Windows下的目录分隔符: '+path.delimiter);
console.log('Windows的路径分段分隔符: '+path.sep);const url='E:\\Web前端\\input.txt';
console.log('路径的目录名是:'+path.dirname(url));
console.log('路径中最后一部分:'+path.basename(url));
console.log('文件名的后缀:'+path.extname(url));
console.log('完整路径的对象:'+path.parse(url));var obj=path.parse(url);
console.log('路径对象转换为字符串:'+path.format(obj));
var s1='D:';
var s2='mydir';
var s3='logo.jpg';console.log('路径的连接:'+path.join(s1,s2,s3));
Windows下的目录分隔符: ;
Windows的路径分段分隔符: \
路径的目录名是:E:\Web前端
路径中最后一部分:input.txt
文件名的后缀:.txt
完整路径的对象:[object Object]
路径对象转换为字符串:E:\Web前端\input.txt
路径的连接:D:\mydir\logo.jpg

url模块

url模块提供了一些实用方法,用于URL处理与解析。

导入模块:

const url = require('url');

url的两套API:

1、Node.js特有的API(传统的URL API)主要用于兼容已有应用程序。

  • url地址中的符号:

    • ?:请求地址与请求参数之间的分隔符
    • &:参数之间的分隔符
const url = require('url');
const myUrl = url.parse('https://localhost:8080/index.html?username=张三&password=1234')
console.log(myUrl);
/*输出:
Url {protocol: 'https:',slashes: true,auth: null,host: 'localhost:8080',port: '8080',hostname: 'localhost',hash: null,search: '?username=张三&password=1234',query: 'username=张三&password=1234',pathname: '/index.html',path: '/index.html?username=张三&password=1234',href: 'https://localhost:8080/index.html?username=张三&password=1234'
}
*/console.log(myUrl.query);
//输出:username=张三&password=1234

2、新的应用程序应使用WHATWG API。

const {URL} = require('url');
const myUrl = new URL('https://localhost:8080/index.html?username=张三&password=1234')
  • WHATWG API的URL类提供的方法和属性

    • URL类根据WHATWG URL标准实现。首先使用构造方法new URL(input[, base])创建URL对象
    • 然后使用URL类提供的属性和方法来进行操作。
    • 主要属性
      • url.protocol:获取及设置URL的协议(protocol)部分。
      • url.host:获取及设置URL的主机(host)部分,包括端口。
      • url.hostname:获取及设置URL的主机名(hostname)部分。
      • url.port:获取及设置URL的端口(port)部分。
      • url.pathname:获取及设置URL的路径(path)部分。
      • url.search:获取及设置URL的序列化查询(query)部分。
      • url.hash#:获取及设置URL的hash部分。例如http://example.org/foo#bar。
      • url.href:获取及设置序列化的URL,返回值与url.toString和url.toJSON的返回值相同。
    • 主要方法
      • url.toString():返回序列化的URL
      • url.toJSON():返回序列化的URL,URL对象使用JSON.stringify()序列化时将自动调用该方法

querystring模块

提供一些实用方法用于解析与格式化URL查询字符串
导入模块:

const querystring = require('querystring');
  • querystring.parse(str[, sep[, eq[, options]]]) 将一个URL查询字符串解析成一个键值对的集合(相当于反序列化)。
示例:解析查询字符串foo=bar&abc=xyz&abc=123的结果如下:
{foo: 'bar',abc: ['xyz', '123']
}
  • querystring.stringify(obj[, sep[, eq[, options]]])
    将一个对象转换成URL查询字符串,是querystring.parse的逆运算。参数obj是要序列化成URL查询字符串的对象。
示例:
调用:querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
返回:“foo=bar&baz=qux&baz=quux&corge=”
  • querystring.unescape(str) 用于对字符串进行解码,通常提供给querystring.parse()使用。

  • querystring.escape(str) 用于对字符串进行URL编码,主要提供给querystring.stringify()使用。

【Node】Node核心模块相关推荐

  1. (14)Node.js 核心模块—http

    一.核心模块 - http模块介绍 • http 模块可以发布 web 服务,在没有学习http模块之前,我们都是用tomcat,nginx等服务器. • 使用之前,通过 require 引入 • 官 ...

  2. 前端基础-Node.js核心模块的使用

    第2章 核心模块的使用 2.1.1 FS模块 node核心模块之一,用于操作文件: 中文手册 : http://nodejs.cn/api/fs.html 文件读写 // 引入模块 var fs = ...

  3. nodejs(五)node引入核心模块fs

    前面我们说ndoe引入自己的模块,相对路径要加 './',否则就会根据名字去引入核心模块,nodejs文件读写的核心模块是fs(file-system),引入方法: var fs = require( ...

  4. (12)Node.js核心模块fs—实现文件复制和压缩

    一.文件复制 将src目录下的style.css文件复制一份,到dist目录下. 二.文件压缩 文件压缩就是把我们书写的代码中的空格和注释进行删除,这样我们体积会变小,当我们上线到服务器时,给服务器造 ...

  5. (10)Node.js核心模块—fs文件系统之目录操作

    一.创建目录 // 引入fs模块 const fs = require('fs') //创建目录(文件夹) //语法:fs.mkdir('目录路径',回调函数) fs.mkdir('./d1', (e ...

  6. (11)Node.js 核心模块fs – 同步函数( synchronization )

    一.介绍图 再执行程序1时,把1.1和1.2丢到事件队列中,去异步执行,这样提高了效率,让执行速度更快. 如果使用同步,需要等待程序1完全执行完成后,才能去执行程序2. 二.同步函数 • 在主程序中自 ...

  7. node.js学习笔记5——核心模块1

    node.js学习笔记5--核心模块1 Node.js核心模块主要内容包括:(1)全局对象 (2)常用工具 (3)事件机制 (4)文件系统访问 (5)HTTP服务器与客户端 一: 全局对象 Node. ...

  8. node中模块系统及核心模块、执行node文件

    node中模块系统: 1.模块系统:核心模块.第三方模块. 自己写的模块. 2.网页中所有的路径都是URL,而不是文件路径. 3.node偏底层开发,开启的服务器完全是一个黑盒子,所有的资源默认都是不 ...

  9. Node 学习六、核心模块 events之 01 events 和 EventEmitter 类、发布订阅、EventEmitter 类源码解析和模拟实现

    events 事件模块 events 与 EventEmitter node.js 是基于事件驱动的异步操作架构,内置 events 模块 events 模块提供了 EventEmitter 类 这个 ...

最新文章

  1. JDK1.5 新特性
  2. 视频码率、视频编码的原理
  3. gdb加载python_gdb加载python脚本的方法
  4. windows环境下C语言socket编程
  5. excel 表格导入 - java 实现
  6. php输入密码才能浏览,使用php为网页设置访问密码 - 小俊学习网
  7. 美国街头出现怪异无人车:3个激光雷达垂直叠放
  8. Pytorch中view, transpose, permute等方法的区别
  9. java服务器向客户端发消息_socket 服务器向指定的客户端发消息
  10. Git SSL公钥密钥生成
  11. 红帽linux安装ftp服务,红帽Linux安装FTP服务
  12. 白盒测试——静态白盒测试
  13. ActivitiUFLO2Snaker流程引擎对比分析
  14. 百度啊,你是新年第一惨
  15. 电商移动Web实战项目(1)
  16. 计算机二级《MS Office》考试真题及答案
  17. 六边形俄罗斯方块游戏创意
  18. Mysql 中使用UUID做为主键,去掉- 横线
  19. Idea输入汉字变成繁体字
  20. SnapMotion for Mac(Mac从视频中截图软件)

热门文章

  1. 坐姿不良?腰背不适?你缺一把得力普乐士办公家具
  2. 服务与服务产品的趋势与未来
  3. 【随记】Java格式化JSON输出
  4. MongoDB查询返回指定字段
  5. 设计模式之工厂模式【选用修仙小说功法阐述】
  6. 华为手机连按3次Android版本,原来华为必须关闭这6个设置,1键按下这里即可,手机可以再用5年...
  7. C#调用Face++ API实现人脸融合
  8. iOS 启动图标尺寸大全
  9. 盘点黑客攻击途径:最常用的7个策略及简单的防护方法
  10. 末尾0的个数——C语言