下面是关于“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技术站