Node.js URL.format(urlObject) API

URL.format (urlObject) es la API incorporada proporcionada por la clase URL, que toma un objeto o string y devuelve una string formateada derivada de ese objeto o string.

Sintaxis:

const url.format(urlObject)

Si el urlObject no es un objeto o una string, generará un TypeError .
Valor devuelto: Devuelve una string derivada de urlObject.

El urlObject puede tener los siguientes campos o claves:

  • protocolo
  • barras
  • autenticación
  • nombre de host
  • anfitrión
  • Puerto
  • nombre de ruta
  • búsqueda
  • consulta
  • picadillo

El proceso de formateo es el siguiente:

    1. Inicialmente, se crea una string vacía (» diga resultado ) y luego se buscan los siguientes parámetros en orden.

    2. urlObject.protocolo: string

  • Si urlObject.protocol es una string, se agrega al resultado; de lo contrario, si no está indefinido y no es una string, se genera un error.
  • Si urlObject.protocol no termina con dos puntos ASCII ( : ), entonces, el literal ‘:’ se agrega al resultado.
    3. urlObject.slashes: booleano
  • Si alguna de las siguientes propiedades es verdadera, se añaden los literales ‘//’ al resultado:
    • urlObject.slashaes es verdadero.
    • urlObject.protocol es http, https, ftp, gopher o file , entonces las barras diagonales serán automáticamente verdaderas incluso si las barras diagonales son falsas.
    4. urlObject.auth: string
  • Si urlObject.auth no está indefinido y urlObject.host o urlObject.hostname tampoco está indefinido, auth se agrega al resultado con el literal ‘@’ independientemente de si el literal ‘@’ está presente o no al final.
    5. urlObjeto.host: string
  • Si urlObject.host es una string, se agrega al resultado; de lo contrario, si no está indefinido y no es una string, se genera un error.
  • Si no está definido, se considera urlObject.hostname.
    6. urlObject.hostname: string
  • Si urlObject.hostname es una string, se agrega al resultado; de lo contrario, si no está indefinido y no es una string, se genera un error.
  • Si se definen tanto el host como el nombre del host, se considerará el host.
    7. urlObject.port: (número | string)
  • Si se considera el nombre de host y se define urlObject.port , se agregará el literal ‘:’ al resultado junto con urlObject.port.
    8. urlObject.pathname: string
  • Si urlObject.pathname es una string pero no una string vacía y no comienza con el literal ‘/’, entonces se agrega el literal ‘/’ al resultado.
  • urlObject.pathname se agrega al resultado.
  • De lo contrario, UrlObject.pathname no es una string, entonces se genera un error.
    9. urlObject.search: string
  • Si urlObject.search es una string pero no una string vacía y no comienza con el literal ‘?’ , entonces literal ‘?’ se adjunta al resultado.
  • urlObject.search se adjunta al resultado.
  • Si urlObject.search no es una string, se genera un error.
    10. urlObjeto.consulta: Objeto
  • Si urlObject.query es un objeto, entonces el literal ‘?’ se agrega al resultado junto con el resultado de llamar al método stringify () del módulo querystring pasando el valor de urlObject.query .
  • Si se definen tanto urlObject.search como urlObject.query , solo se considerará urlObject.search .
    11. urlObjeto.hash: string
  • Si urlObject.hash es una string pero no una string vacía y no comienza con el literal ‘#’ , entonces se agrega el literal ‘#’ al resultado .
  • urlObject.hash se agrega al resultado.
  • De lo contrario, urlObject.hash no es una string y no está indefinido, entonces se genera un error .
    12. Finalmente, se devuelve el resultado .

Ejemplo 1

/*
  node program to demonstrate the URL.format API.
*/  
    
//importing the module 'url'
const url = require('url');
  
//creating and initializing urlObject
var urlObject={
        protocol: 'https',
        hostname: 'example.com',
        port: 1800,
        pathname: 'sample/path',
        query: {
                page: 1,
                format: 'json'
        },
        hash: 'first'
    }
  
//getting the derived URL from urlObject using the url.format function
var sampleUrl=url.format(urlObject);
  
//Display the returned value
console.log(sampleUrl.toString());
   
Output: https://example.com:1800/sample/path?page=1&format=json#first

Ejemplo 2

/*
  node program to demonstrate the URL.format API.
*/  
    
//importing the module 'url'
const url = require('url');
  
//creating and initializing urlObject
var urlObject={
        protocol: 'prct',
        slashes: false,
        host: 'example.com',
        auth: 'abc',
        pathname: '/sample/path',
        search: 'something',
        hash: 'first'
    }
  
//getting the derived URL from urlObject using the url.format function
var sampleUrl=url.format(urlObject);
  
//Display the returned value
console.log(sampleUrl.toString());
Output: prct:abc@example.com/sample/path?something#first

NOTA: El programa anterior se compilará y ejecutará mediante el comando node fileName.js .

Referencia:
https://nodejs.org/api/url.html#url_url_format_urlobject

Publicación traducida automáticamente

Artículo escrito por Vinod Tahelyani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *