Node.js URL 解析
解析 URL 的各组成部分:协议、主机、路径、查询参数 · 难度:入门 · +15XP
URL 模块
url 模块用于解析和处理网址。在写 API 时需要从 URL 中提取路径和参数。
解析 URL
const url = require("url");
const addr = "https://user:pass@example.com:8080/api/users?id=1&sort=desc#top";
const parsed = new URL(addr);
console.log(parsed.protocol); // "https:"
console.log(parsed.hostname); // "example.com"
console.log(parsed.port); // "8080"
console.log(parsed.pathname); // "/api/users"
console.log(parsed.search); // "?id=1&sort=desc"
console.log(parsed.hash); // "#top"
console.log(parsed.searchParams.get("id")); // "1"
URLSearchParams — 处理查询参数
const params = new URLSearchParams("name=张三&age=25&city=北京");
console.log(params.get("name")); // "张三"
console.log(params.has("age")); // true
params.forEach((v, k) => console.log(k, "=", v));
// 构建查询字符串
const qs = new URLSearchParams({ page: 1, limit: 10, q: "vue" });
console.log(qs.toString()); // "page=1&limit=10&q=vue"