url模块

介绍

URL模块是用于处理和解析URL的

url.URL方法

var url = require('url');
var testUrl1 = 'http://www.book.com/mdbook/frontend/nodejs/introduction/coremodule1/global.html'
const myURL = new url.URL('test', testUrl1);
console.log(myURL);

/*
结果如下:
URL {
  href: 'http://www.book.com/mdbook/frontend/nodejs/introduction/coremodule1/test',
  origin: 'http://www.book.com',
  protocol: 'http:',
  username: '',
  password: '',
  host: 'www.book.com',
  hostname: 'www.book.com',
  port: '',
  pathname: '/mdbook/frontend/nodejs/introduction/coremodule1/test',
  search: '',
  searchParams: URLSearchParams {},
  hash: '' }
*/

new URLSearchParams(obj)


//  使用查询哈希映射实例化新的 URLSearchParams 对象。 obj 的每个属性的键和值总是被强制转换为字符串。

let params;

params = new URLSearchParams('user=abc&query=xyz');
console.log(params.get('user'));
// 打印 'abc'

console.log(params.toString());
// 打印 'user=abc&query=xyz'

params = new URLSearchParams('?user=abc&query=xyz');
console.log(params.toString());
// 打印 'user=abc&query=xyz'


// 使用数组
params = new URLSearchParams([
  ['user', 'abc'],
  ['query', 'first'],
  ['query', 'second'],
]);
console.log(params.toString());
// 打印 'user=abc&query=first&query=second'

// 使用 Map 对象
const map = new Map();
map.set('user', 'abc');
map.set('query', 'xyz');
params = new URLSearchParams(map);
console.log(params.toString());
// 打印 'user=abc&query=xyz'

// 使用生成器函数
function* getQueryPairs() {
  yield ['user', 'abc'];
  yield ['query', 'first'];
  yield ['query', 'second'];
}
params = new URLSearchParams(getQueryPairs());
console.log(params.toString());
// 打印 'user=abc&query=first&query=second'
powered by GitbookEdit Time: 2023-04-08 10:28:32