NodeJS学习笔记之(Url,QueryString,Path)模块

yizhihongxing

下面是关于“NodeJS学习笔记之(Url,QueryString,Path)模块”的完整攻略:

什么是Url,QueryString和Path?

在介绍Url,QueryString和Path模块之前,我们先来了解一下他们的概念:

  • Url: 统一资源定位符,是指向互联网“资源”的指针。
  • QueryString: 查询字符串,是Url中问号后面的部分,包括多个键值对以及它们的值。
  • Path: 路径,是Url中主机名称和查询字符串之间的部分,即指向资源的本地路径。

Url模块

NodeJS中Url模块提供了一些实用方法来解析和格式化Url。以下是一些Url模块中常用的方法及其说明:

  • url.parse(urlString[, boolean]): 把一个Url字符串解析成一个Url对象,并返回该对象。boolean参数为可选参数,如果为true,则使用querystring模块将查询字符串解析成一个对象。示例代码:
const url = require('url');

const urlString = 'http://example.com/path/name?query1=value1&query2=value2';
const parsedUrl = url.parse(urlString, true);

console.log(parsedUrl);

输出结果:

Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'example.com',
  port: null,
  hostname: 'example.com',
  hash: null,
  search: '?query1=value1&query2=value2',
  query: { query1: 'value1', query2: 'value2' },
  pathname: '/path/name',
  path: '/path/name?query1=value1&query2=value2',
  href: 'http://example.com/path/name?query1=value1&query2=value2'
}
  • url.format(urlObject): 把一个Url对象转换成一个Url字符串,并返回该字符串。示例代码:
const url = require('url');

const urlObject = {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'localhost:3000',
  port: '3000',
  hostname: 'localhost',
  hash: null,
  search: '?query1=value1&query2=value2',
  query: { query1: 'value1', query2: 'value2' },
  pathname: '/users',
  path: '/users?query1=value1&query2=value2',
  href: 'http://localhost:3000/users?query1=value1&query2=value2'
};

console.log(url.format(urlObject));

输出结果:

http://localhost:3000/users?query1=value1&query2=value2
  • url.resolve(from, to):将一个Url字符串和一个相对路径字符串拼接起来,并返回完整的Url字符串。示例代码:
const url = require('url');

console.log(url.resolve('http://example.com', '/path/name')); // http://example.com/path/name
console.log(url.resolve('http://example.com/path', '/name')); // http://example.com/name
console.log(url.resolve('http://example.com/path/', 'name')); // http://example.com/path/name

QueryString模块

QueryString模块提供了一些实用方法来解析和格式化Url中的查询字符串。以下是一些QueryString模块中常用的方法及其说明:

  • querystring.parse(str[, sep[, eq[, options]]]): 把一个Url中的查询字符串解析成一个对象,并返回该对象。sep参数为可选参数,用于指定键值对之间的分隔符,默认为&eq参数为可选参数,用于指定键值对之间的赋值符,默认为=。示例代码:
const querystring = require('querystring');

const queryString = 'query1=value1&query2=value2';

console.log(querystring.parse(queryString));

输出结果:

{ query1: 'value1', query2: 'value2' }
  • querystring.stringify(obj[, sep[, eq[, options]]]): 把一个对象序列化成查询字符串,并返回该字符串。示例代码:
const querystring = require('querystring');

const object = {
  query1: 'value1',
  query2: 'value2'
};

console.log(querystring.stringify(object)); // query1=value1&query2=value2

Path模块

Path模块用于处理文件路径。在NodeJS中,Path模块提供了一些实用方法来查询和操作文件路径。以下是一些Path模块中常用的方法及其说明:

  • path.join([...paths]): 将多个路径拼接成一个字符串,并返回该字符串。示例代码:
const path = require('path');

console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')); // /foo/bar/baz/asdf
  • path.resolve([...paths]): 将一个或多个路径解析成一个绝对路径,并返回该路径。示例代码:
const path = require('path');

console.log(path.resolve('/foo', '/bar', 'baz')); // /bar/baz
console.log(path.resolve('/foo', './bar', 'baz')); // /foo/bar/baz

总结

以上就是关于Url,QueryString,Path模块的完整攻略。Url模块用于解析和格式化Url,QueryString模块用于解析和格式化Url中的查询字符串,Path模块用于查询和操作文件路径。通过NodeJS中这三个模块的使用,我们可以轻松的处理Url和路径相关的操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NodeJS学习笔记之(Url,QueryString,Path)模块 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 详细谈谈NodeJS进程是如何退出的

    当NodeJS进程退出时,会发生以下几个事件: 执行完所有的exit回调函数 事件循环结束 所有未被清理的定时器和Interval函数被清理 通过process.exit()函数强制终止进程 NodeJS进程可以通过以下几种方式退出: 自然退出:所有的任务都完成了,NodeJS自动退出进程。 抛出未被捕捉到的异常:抛出未被捕捉到的异常也会使NodeJS进程退…

    node js 2023年6月8日
    00
  • nodejs前端自动化构建环境的搭建

    我将为你详细讲解”Node.js前端自动化构建环境的搭建”。 什么是Node.js前端自动化构建? 在web前端开发中,为了提高工作效率,避免重复繁琐的人工操作,我们需要使用一些特定的工具进行自动化构建。Node.js在前端开发中具有很大的优势,可以使用它构建自动化流程,比如自动化压缩、合并、编译等,极大地增强了前端开发的效率。 Node.js前端自动化构建…

    node js 2023年6月8日
    00
  • node.js中的console.time方法使用说明

    关于“node.js中的console.time方法使用说明”这个话题,我可以给你提供以下完整攻略。 1. console.time方法是什么? 在Node.js中,console.time方法用于测试代码块执行时间。这个方法可以计时开始和结束之间的时间间隔,并输出执行时间。在需要了解某个代码块或函数执行的性能时,这个方法会非常有用。 2. console.…

    node js 2023年6月8日
    00
  • node.js实现逐行读取文件内容的代码

    想要实现逐行读取文件内容,首先需要使用node.js提供的fs模块中的createReadStream方法来创建可读流。 在创建可读流时可以指定一个encoding参数来指定读取的文件编码格式,如下所示: const fs = require(‘fs’); const readline = require(‘readline’); const rl = re…

    node js 2023年6月8日
    00
  • Node.js中你不可不精的Stream(流)

    Node.js中你不可不精的Stream(流)攻略 什么是流? 流(Stream)是Node.js中处理流式数据的抽象接口。流可以像文件一样被读取和写入,但它们是基于事件的、异步的,并且可以进行实时(即时)数据处理。 常见的流分为可读流、可写流和双工流。可读流用于从文件、网络端口和其他数据源读取数据,可写流用于将数据写入文件、网络端口和其他数据存储,而双工流…

    node js 2023年6月8日
    00
  • 实现JavaScript的组成—-BOM和DOM详解

    下面我将详细讲解一下“实现JavaScript的组成——BOM和DOM详解”的攻略。 什么是BOM和DOM BOM BOM(Browser Object Model)即浏览器对象模型,是浏览器提供的能够操作浏览器窗口、浏览器标签页、页面定时器、浏览器地址栏和浏览历史等功能的API集合。 DOM DOM(Document Object Model)即文档对象模…

    node js 2023年6月8日
    00
  • Node批量爬取头条视频并保存方法

    以下是“Node批量爬取头条视频并保存方法”的完整攻略: 1. 准备工作 首先,需要确保已经安装了Node.js和npm。然后,安装所需的依赖模块:cheerio和request-promise。安装命令如下: npm install cheerio request-promise 2. 获取视频列表 爬取头条视频,需要先获取视频列表。可以通过头条的API接…

    node js 2023年6月8日
    00
  • 使用node-canvas在服务端渲染echarts图表解析

    使用node-canvas在服务端渲染echarts图表,可以实现在后端生成静态图表,并且可以在不需要浏览器环境的情况下使用echarts。 安装node-canvas模块 要使用node-canvas在服务端渲染echarts图表,需要预先安装node-canvas模块,命令如下: npm install canvas 注意,node-canvas依赖于C…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部