Node常用基本内置模块
2021/5/2 1:25:16
本文主要是介绍Node常用基本内置模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、OS模块 查看操作系统信息
const os = require("os"); console.log(os); console.log(os.EOL); //换行符 console.log(os.cpus().length); //内核 8核 console.log(os.freemem()/2**30); //剩余内存 多少kb console.log(os.homedir()); //用户目录 C:\Users\Lenovo console.log(os.hostname()); //主机名 DESKTOP-QILT1G7 console.log(os.tmpdir()); //文件目录 C:\Users\Lenovo\AppData\Local\Temp
二、path模块 用于处理文件和目录的路径
const path = require("path"); console.log(path.basename("a/b/c.html")) //文件名 console.log(path.delimiter) //操作系统路径分隔符 一个路径与另一个路径 console.log(__dirname); //模块路径 console.log(path.dirname(__filename)) //模块路径 console.log(path.extname(__filename)) //后缀名 console.log(path.join(__filename)); //加入路径 console.log(path.normalize('eqweq/eqwe/eqweq/eqw')) //转换成正常路径 console.log(path.relative("a/b/c/c.html","a/b/d/d.html")); //将后面的路径转换为前面路径的相对路径 ../../d/d.html console.log(path.resolve(__dirname,"./OS.js")); //路径拼接
1.pathname
path
<string>ext
<string> 可选的文件扩展名。- 返回: <string>
path.basename()
方法会返回 path
的最后一部分,类似于 Unix 的 basename
命令。 尾部的目录分隔符会被忽略,参见 path.sep
。
path.basename('/目录1/目录2/文件.html'); // 返回: '文件.html' path.basename('/目录1/目录2/文件.html', '.html'); // 返回: '文件'
2.dirname
path
<string>- 返回: <string>
path.dirname()
方法会返回 path
的目录名,类似于 Unix 的 dirname
命令。 尾部的目录分隔符会被忽略,参见 path.sep
。
path.dirname('/目录1/目录2/目录3'); // 返回: '/目录1/目录2'
3.delimiter
提供平台特定的路径定界符:
;
用于 Windows:
用于 POSIX
例如,在 POSIX 上:
console.log(process.env.PATH); // 打印: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin' process.env.PATH.split(path.delimiter); // 返回: ['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']
在 Windows 上:
console.log(process.env.PATH); // 打印: 'C:\Windows\system32;C:\Windows;C:\Program Files\node\' process.env.PATH.split(path.delimiter); // 返回: ['C:\\Windows\\system32', 'C:\\Windows', 'C:\\Program Files\\node\\']
三、URL模块 模块用于处理与解析 URL
const url = require('url');
使用 WHATWG 的 API 解析 URL 字符串:转为url对象
const myURL =new URL('https://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash');
使用传统的 API 解析 URL 字符串:转为url对象
const url = require('url'); const myURL =url.parse('https://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash');
url对象
URL { href: 'https://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash', origin: 'https://sub.host.com:8080', protocol: 'https:', username: 'user', password: 'pass', host: 'sub.host.com:8080', hostname: 'sub.host.com', port: '8080', pathname: '/p/a/t/h', search: '?query=string', searchParams: URLSearchParams { 'query' => 'string' }, hash: '#hash' }
四、Util 模块
node中的回调模式
(err,data)=>{} err错误,data回调数据
1.callbackify(promise) promise转回调
const util = require("util"); async function delay(duration = 1000) { return new Promise(resolve => { setTimeout(() => { resolve(duration); }, duration); }); } const delayCallback = util.callbackify(delay); //将promise转为回调 delayCallback(1500, (err, d) => { console.log(d); });
2.promisify(callback) callback转promise
function delayCallBack(duration, callback) { setTimeout(() => { callback(null, duration); }, duration); } const delay = util.promisify(delayCallBack);//将回调转为promise (async () => { const r = await delay(500); console.log(r); })();
3.isDeepScriptEqual(obj1,,obj2) 判断对象是否相等
const obj1 = { a: 1, b: { c: 3, d: { e: 5 } } }; const obj2 = { a: 1, b: { c: 3, d: { e: 5, g: 6 } } }; const obj3 = { a: 1, b: { c: 3, d: { e: 5 } } }; console.log(util.isDeepStrictEqual(obj1, obj2)); //false console.log(util.isDeepStrictEqual(obj1, obj3)); //true
这篇关于Node常用基本内置模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25JAVA语音识别项目项目实战入门教程
- 2024-11-25JAVA云原生项目实战入门教程
- 2024-11-25Java语音识别项目入门:新手必读指南
- 2024-11-25Java语音识别项目入门:轻松开始你的第一个语音识别项目
- 2024-11-25Java语音识别项目入门详解
- 2024-11-25Java语音识别项目教程:从零开始的详细指南
- 2024-11-25JAVA语音识别项目教程:初学者指南
- 2024-11-25Java语音识别项目教程:初学者指南
- 2024-11-25JAVA云原生入门:新手指南与基础教程
- 2024-11-25Java云原生入门:从零开始的全面指南