@nsnanocat/url

@nsnanocat/url 为至少 iOS 15 JavaScriptCore 提供 URLURLSearchParams 实现,适用于缺少完整 Web URL API 的脚本运行环境。

安装

从 npm registry 安装:

npm
yarn
pnpm
bun
deno
npm add @nsnanocat/url

如果从 GitHub Packages 安装:

.npmrc
@nsnanocat:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}

配置完成后,仍使用上面的安装命令。

快速开始

import { URL } from "@nsnanocat/url";

const url = new URL("https://example.com/search?q=JavaScriptCore");

url.searchParams.set("page", "2");
url.hash = "result";

console.log(url.href);
// https://example.com/search?q=JavaScriptCore&page=2#result

也可以单独使用 URLSearchParams

import { URLSearchParams } from "@nsnanocat/url/URLSearchParams.mjs";

const params = new URLSearchParams("q=JavaScriptCore");
params.append("page", "2");

console.log(params.toString());
// q=JavaScriptCore&page=2

提供的文件

文件内容
URL.mjsURL 类,内部使用 URLSearchParams 完成查询参数操作
URLSearchParams.mjs可单独导入的 URLSearchParams
Note

这是面向目标脚本环境的 Polyfill,不以覆盖浏览器中 URL 标准的全部边界行为为目标。升级前建议在实际宿主中验证依赖的解析与序列化场景。