node.js url模块

url.parse 解析一个 url 地址,返回一个 url 对象。

const url = require('url');
let parseUrl = 'http://www.google.com/?q=node.js';

let urlObj = url.parse(parseUrl);
console.log(urlObj);

输出:

Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'www.google.com',
  port: null,
  hostname: 'www.google.com',
  hash: null,
  search: '?q=node.js',
  query: 'q=node.js',
  pathname: '/',
  path: '/?q=node.js',
  href: 'http://www.google.com/?q=node.js' }

url.formate 接受一个 url 对象为参数,返回一个完整的 url 地址。

const url = require('url');

let urlObj = {
    'host' : 'www.google.com',
    'port' : 80,
    'protocol' : 'https',
    'search' : '?q=node.js',
    'query' : 'q=node.js',
    'path' : '/'
};
let urlAddress = url.format(urlObj);
console.log(urlAddress);

输出:

https://www.google.com?q=node.js

url.resolve 接受一个 base url 对象和一个 href url 对象,像浏览那样解析,返回一个完整地址。

const url = require('url');
let urlAddress = url.resolve('https://www.google.com', '/image');
console.log(urlAddress);

输出:

https://www.google.com/image