- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
NodeJS - format() 方法
NodeJS url.format() 方法用于返回 URL 字符串的可自定义序列化,该字符串是 WHATWG URL 对象的表示形式。
也可以使用 toString() 方法或 href 属性返回序列化的 URL。但是,他们无法自定义此 URL 中存在的段。为此,我们使用 URL.format() 方法。
语法
以下是 URL 类的 NodeJS url.format() 方法的语法
url.format(URL[, options])
参数
此方法接受两个参数。下面将对此进行描述。
- URL:此参数包含一个 WHATWG URL 对象,该对象可由新的 URL() 类构造函数创建。
- options:可选参数可以具有以下属性集。
- auth:如果序列化的 URL 字符串包含用户名和密码段,则此属性值将为 true。否则,此属性值将为 false。默认值为 true。
- fragment:如果序列化的 URL 字符串包含片段段,则此属性值将为 true。否则,此属性值将为 false。默认值为 true。
- search:如果序列化的 URL 字符串包含搜索查询段,则此属性值将为 true。否则,此属性值将为 false。默认值为 true。
- unicode:如果 URL 字符串的主机段中出现的任何 Unicode 字符是编码的,而不是 Punycode 编码的,则此属性值将为 false。否则,此属性值将为 true。默认值为 false。
返回值
此方法返回表示 WHATWG URL 对象的 URL 字符串的可自定义序列化。
例如果我们将 true 分配给 'auth' 属性,则 NodeJS url.format() 方法将在序列化 URL 中包含 'username 和 password' 段,如果为 false,则不包括。默认值为 true。
在以下示例中,我们尝试使用 NodeJS url.format() 方法格式化 URL 的“username 和 password”段。
const url = require('node:url');
let myURL = new URL('https://a:b@例?1=one#footer');
console.log("URL: " + myURL.href)
//it will include the 'auth' segment
console.log("If 'auth' is set to true: " + url.format(myURL, {auth: true}));
//it will not include the 'auth' segment
console.log("If 'auth' is set to false: " + url.format(myURL, {auth: false}));
//By default it includes the 'auth' segment
console.log("By default: " + url.format(myURL));
输出
在执行上述程序时,它将生成以下输出
If 'auth' is set to true: https://a:b@xn--fsq/?1=one#footer
If 'auth' is set to false: https://xn--fsq/?1=one#footer
By default: https://a:b@xn--fsq/?1=one#footer
例
如果我们将 true 分配给 'fragment' 属性,则 NodeJS url.format() 方法将在序列化 URL 中包含 'fragment' 段,如果为 false,则不包括。默认值为 true。
在以下示例中,我们尝试使用 NodeJS url.format() 方法格式化 URL 中的“fragment”段。
const url = require('node:url');
let myURL = new URL('https://a:b@例?1=one#footer');
console.log("URL: " + myURL.href)
//it will include the 'fragment' segment
console.log("If 'fragment' is set to true: " + url.format(myURL, {fragment: true}));
//it will not include the 'fragment' segment
console.log("If 'fragment' is set to false: " + url.format(myURL, {fragment: false}));
//By default it includes the 'fragment' segment
console.log("By default: " + url.format(myURL));
输出
在执行上述程序时,它将生成以下输出
If 'fragment' is set to true: https://a:b@xn--fsq/?1=one#footer
If 'fragment' is set to false: https://a:b@xn--fsq/?1=one
By default: https://a:b@xn--fsq/?1=one#footer
例
如果我们将 true 分配给 'search' 属性,则 NodeJS url.format() 方法将在序列化 URL 中包含 'search query' 段,如果为 false,则不包括。默认值为 true。
在以下示例中,我们尝试使用 NodeJS url.format() 方法格式化 URL 的“search query”段。
const url = require('node:url');
let myURL = new URL('https://a:b@例?1=one#footer');
console.log("URL: " + myURL.href)
//it will include the 'search' segment
console.log("If 'search' is set to true: " + url.format(myURL, {search: true}));
//it will not include the 'search' segment
console.log("If 'search' is set to false: " + url.format(myURL, {search: false}));
//By default it includes the 'search' segment
console.log("By default: " + url.format(myURL));
输出
在执行上述程序时,它将生成以下输出
If 'search' is set to true: https://a:b@xn--fsq/?1=one#footer
If 'search' is set to false: https://a:b@xn--fsq/#footer
By default: https://a:b@xn--fsq/?1=one#footer
例
如果输入 URL 字符串包含“Unicode 字符”,并且我们将 false 分配给“unicode”属性,则 url.format() 方法将根据 Punycode 技术对它们进行编码。如果为 true,则返回 Unicode 字符。默认值为 false。
在以下示例中,我们尝试使用 url.format() 方法格式化 URL 中的“Unicode 字符”段。
const url = require('node:url');
let myURL = new URL('https://a:b@例?1=one#footer');
console.log("URL: " + myURL.href)
//it will include the 'unicode' segment
console.log("If 'unicode' is set to true: " + url.format(myURL, {unicode: true}));
//it will not include the 'unicode' segment
console.log("If 'unicode' is set to false: " + url.format(myURL, {unicode: false}));
//By default it includes the 'unicode' segment
console.log("By default: " + url.format(myURL));
输出
在执行上述程序时,它将生成以下输出
If 'unicode' is set to true: https://a:b@例/?1=one#footer
If 'unicode' is set to false: https://a:b@xn--fsq/?1=one#footer
By default: https://a:b@xn--fsq/?1=one#footer