url.format(urlObject)
曆史
| 版本 | 變化 | 
|---|---|
| v17.0.0 | 現在,當主機名的 Punycode 轉換引入可能導致 URL 以不同方式重新解析的更改時,將引發   | 
| v15.13.0、v14.17.0 | 棄用已撤銷。狀態更改為"Legacy"。  | 
| v11.0.0 | 舊版 URL API 已棄用。使用 WHATWG URL API。  | 
| v7.0.0 | 無論  | 
| v0.1.25 | 添加於:v0.1.25  | 
Stability: 3 - 舊版:改用 WHATWG URL API。
參數
urlObject<Object> | <string> 一個 URL 對象(由url.parse()返回或以其他方式構造)。如果是字符串,則通過將其傳遞給url.parse()將其轉換為對象。
url.format() 方法返回從 urlObject 派生的格式化 URL 字符串。
const url = require('node:url');
url.format({
  protocol: 'https',
  hostname: 'example.com',
  pathname: '/some/path',
  query: {
    page: 1,
    format: 'json'
  }
});
// => 'https://example.com/some/path?page=1&format=json'
如果 urlObject 不是對象或字符串,則 url.format() 將拋出   。TypeError 
格式化過程操作如下:
- 創建一個新的空字符串
result。 - 如果 
urlObject.protocol是字符串,則按原樣附加到result。 - 否則,如果 
urlObject.protocol不是undefined並且不是字符串,則拋出。Error - 對於所有字符串值
urlObject.protocol,那不要結束帶有 ASCII 冒號 (:) 字符,文字字符串:將附加到result. - 如果以下任一條件為真,則文字字符串
//將附加到result:urlObject.slashes屬性為真;urlObject.protocol以http、https、ftp、gopher或file開頭;
 - 如果 
urlObject.auth屬性的值為真,並且urlObject.host或urlObject.hostname不是undefined,則urlObject.auth的值將被強製轉換為字符串並附加到result後跟文字字符串@。 - 如果
urlObject.host屬性是undefined然後:- 如果 
urlObject.hostname是字符串,則將其附加到result。 - 否則,如果 
urlObject.hostname不是undefined並且不是字符串,則拋出。Error - 如果
urlObject.port屬性值是真實的,並且urlObject.hostname不是undefined:- 文字字符串 
:附加到result,並且 urlObject.port的值被強製轉換為字符串並附加到result。
 - 文字字符串 
 
 - 如果 
 - 否則,如果 
urlObject.host屬性值為真,則urlObject.host的值被強製轉換為字符串並附加到result。 - 如果
urlObject.pathnameproperty 是一個非空字符串的字符串:- 如果
urlObject.pathname不啟動帶有 ASCII 正斜杠 (/),然後是文字字符串'/'附加到result. urlObject.pathname的值附加到result。
 - 如果
 - 否則,如果 
urlObject.pathname不是undefined並且不是字符串,則拋出。Error - 如果 
urlObject.search屬性是undefined並且如果urlObject.query屬性是Object,則將文字字符串?附加到result後跟調用模塊的querystringstringify()方法的輸出傳遞urlObject.query的值。 - 否則,如果
urlObject.search是一個字符串:- 如果值
urlObject.search不啟動帶有 ASCII 問號 (?) 字符,文字字符串?附加到result. urlObject.search的值附加到result。
 - 如果值
 - 否則,如果 
urlObject.search不是undefined並且不是字符串,則拋出。Error - 如果
urlObject.hash屬性是一個字符串:- 如果值
urlObject.hash不啟動使用 ASCII 哈希 (#) 字符,文字字符串#附加到result. urlObject.hash的值附加到result。
 - 如果值
 - 否則,如果 
urlObject.hash屬性不是undefined並且不是字符串,則會拋出。Error result返回。
相關用法
- Node.js url.format(URL[, options])用法及代碼示例
 - Node.js url.fileURLToPath(url)用法及代碼示例
 - Node.js url.domainToUnicode(domain)用法及代碼示例
 - Node.js url.domainToASCII(domain)用法及代碼示例
 - Node.js url.urlToHttpOptions(url)用法及代碼示例
 - Node.js url.resolve(from, to)用法及代碼示例
 - Node.js url.parse(urlString, parseQueryString, slashesDenoteHost)用法及代碼示例
 - Node.js url.domainToUnicode()用法及代碼示例
 - Node.js url.pathToFileURL(path)用法及代碼示例
 - Node.js url.toString()用法及代碼示例
 - Node.js urlObject.search用法及代碼示例
 - Node.js URLSearchParams urlSearchParams[Symbol.iterator]()用法及代碼示例
 - Node.js urlObject.auth用法及代碼示例
 - Node.js urlObject.path用法及代碼示例
 - Node.js urlObject.port用法及代碼示例
 - Node.js urlSearchParams.values()用法及代碼示例
 - Node.js urlObject.href用法及代碼示例
 - Node.js urlObject.host用法及代碼示例
 - Node.js urlObject.auth()用法及代碼示例
 - Node.js urlObject.hash用法及代碼示例
 - Node.js urlSearchParams.toString()用法及代碼示例
 - Node.js urlObject.query用法及代碼示例
 - Node.js urlObject.pathname用法及代碼示例
 - Node.js urlObject.slashes用法及代碼示例
 - Node.js urlObject.protocol用法及代碼示例
 
注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 url.format(urlObject)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
