在前端开发中,URL 处理是一个十分常见的需求。而 jsuri 就是一个方便操作 URL 的 npm 包。本文将介绍如何安装和使用 jsuri,以及它的几个常用方法。
安装
使用 npm 安装 jsuri:
npm install jsuri
使用方法
首先,需要引入 jsuri:
const Uri = require('jsuri');
实例化
你可以使用 new
关键字去实例化一个 Uri 对象,传入一个 URL 字符串作为参数:
const uri = new Uri('https://www.example.com/path?query=string');
获取 URL 的信息
使用 Uri 对象可以方便地获取 URL 的各种信息。
获取协议、主机、端口、路径和查询参数
uri.protocol() // 返回协议("https:") uri.host() // 返回主机名和端口号("www.example.com") uri.port() // 返回端口号("" 或 "80" 或 "443" 等) uri.path() // 返回路径("/path") uri.query() // 返回查询参数("query=string")
获取各个部分的值
uri.getProtocol() // 返回协议,同上 uri.getHost() // 返回主机名,同上 uri.getPort() // 返回端口号,同上 uri.getPath() // 返回路径,同上 uri.getQuery() // 返回查询参数,同上
获取查询参数的值
uri.getQueryParamValue('query') // 返回 "string"
修改 URL 的信息
Uri 对象还提供了修改 URL 的方法。
设置协议、主机、端口、路径和查询参数
uri.protocol('http'); // 将协议改为 http uri.host('example.net'); // 将主机改为 example.net uri.port('8080'); // 将端口改为 8080 uri.path('/path2'); // 将路径改为 /path2 uri.addQueryParam('name', 'Tom');// 添加一个查询参数 name=Tom
设置各个部分的值
uri.setProtocol('http'); // 将协议改为 http,同上 uri.setHost('example.net'); // 将主机改为 example.net,同上 uri.setPort('8080'); // 将端口改为 8080,同上 uri.setPath('/path2'); // 将路径改为 /path2,同上 uri.setQuery('name=Tom'); // 将查询参数改为 name=Tom
修改查询参数的值
uri.replaceQueryParam('query', 'newvalue'); // 将查询参数 query 的值改为 newvalue
获取修改后的 URL
Uri 对象提供了 toString()
方法,可以获取修改后的 URL 字符串。
uri.toString(); // 返回修改后的 URL 字符串("http://example.net:8080/path2?name=Tom")
示例代码
实例化 Uri 对象并获取 URL 的信息:
const Uri = require('jsuri'); const uri = new Uri('https://www.example.com/path?query=string'); console.log(uri.protocol()); // "https:" console.log(uri.host()); // "www.example.com" console.log(uri.port()); // "" console.log(uri.path()); // "/path" console.log(uri.query()); // "query=string"
修改 URL 的信息:
uri.protocol('http'); uri.host('example.net'); uri.port('8080'); uri.path('/path2'); uri.addQueryParam('name', 'Tom'); uri.replaceQueryParam('query', 'newvalue'); console.log(uri.toString()); // "http://example.net:8080/path2?name=Tom&query=newvalue"
总结
jsuri 是一个方便操作 URL 的 npm 包,可以方便地获取 URL 的各种信息,也可以修改 URL 的信息。掌握了它的使用方法,可以提高 URL 处理的效率和准确性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/69496