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模块主要用于支持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);
提供了一些工具方法,用于处理文件与目录的路径。
导入模块:
const path = require('path');
属性:
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.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处理与解析。
导入模块:
const url = require('url');
url的两套API:
1、Node.js特有的API(传统的URL API)主要用于兼容已有应用程序。
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')
URL类根据WHATWG URL标准实现。首先使用构造方法new URL(input[, base])创建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()
:返回序列化的URLurl.toJSON()
:返回序列化的URL,URL对象使用JSON.stringify()序列化时将自动调用该方法提供一些实用方法用于解析与格式化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]]])
示例:
调用: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()使用。