前端/移动开发面试题更新 2026-08-05

在 Node.js 环境中,怎样利用内置模块来构造以及拆解 URL 字符串?

前端/移动开发编码实现技术原理Node.js

考察说明

考查对 Node.js 核心模块 URL 的掌握程度,包括创建和解析的实际操作。

回答思路

  1. 【回答框架 1】Node.js 内置的 URL 模块提供 URL 类和 url.parse(旧版)方法。URL 类遵循 WHATWG 标准,是推荐用法,可通过 new URL(input, base) 创建实例,其中 input 为 URL 字符串,base 为可选基准地址。
  2. 【回答框架 2】解析 URL 时,new URL(urlString) 会返回一个 URL 对象,包含 protocol、hostname、port、pathname、search、hash 等属性。若字符串缺少协议或域名,可提供 base 参数补全。
  3. 【回答框架 3】旧版 url.parse 方法在 Node.js v14 及以后被标记为 Legacy API,虽仍可用但不推荐;其返回对象含 auth、host、path 等属性,与 WHATWG 标准有差异。
  4. 【回答框架 4】创建新 URL 时,可通过修改 URL 对象属性(如 pathname、searchParams)来构建新地址,URLSearchParams 类可方便地管理查询参数。
  5. 【回答框架 5】在无 base 且字符串为相对路径时,URL 类会抛出错误;此时应使用 path.resolve 或提供 base。
  6. 【关键点 1】URL 类遵循 WHATWG 标准,通过 new URL() 创建实例。
  7. 【关键点 2】解析时可直接属性访问,如 url.protocol、url.pathname。
  8. 【关键点 3】url.parse 是旧 API,功能上缺乏 searchParams 等。
  9. 【关键点 4】URLSearchParams 用于查询序列化和修改。
  10. 【关键点 5】注意相对路径解析时需要 base 参数,否则报错。