需求: 我现在有一个url为:https://192.168.100.33:8888/images/signImage/8178_0.png 我想要把它拆分成 域名部分:'https://192.168.100.33:8888 ' 和路径部分 '/images/signImage/8178_0.png' 。
实现方法:
- **方法一 :**通过url模块来实现URL的拆分,url.parse() 会解析一个URL字符串,返回一个URL对象,包含诸如protocol, hostname, port, pathname等信息。所以可以通过url.parse获取到hostname和pathname,就可以实现URL的拆分。
javascript
const url = require('url');
const fullUrl = 'https://192.168.100.33:8888/images/signImage/8178_0.png';
const urlObj = url.parse(fullUrl);
const hostname = urlObj.protocol + '//' + urlObj.host;
// https://192.168.100.33:8888
const pathname = urlObj.pathname;
// /images/signImage/8178_0.png
- **方法二:**Node.js 中也可以使用 WHATWG URL API来实现 url.origin就是域名部分,url.pathname是路径部分
javascript
const { URL } = require('url');
const url = new URL('https://192.168.100.33:8888/images/signImage/8178_0.png');
const hostname = url.origin; //域名
const pathname = url.pathname; //路径