Skip to the content.

🐱 Node.js

🌟 Les diffĂ©rents modules core

URL (API WHATWG)

ImplĂ©mentation de l’API URL du navigateur. Par dĂ©faut disponible sur le namespace Global comme pour les timers. URL est vraiment pratique pour la crĂ©ation et manipulation d’URL (comme pour path beaucoup de dĂ©veloppeurs peu expĂ©rimentĂ©s vont construire des solutions maison alors que cet API leur permettrait de faire ce qu’ils souhaitent trĂšs simplement).

À mon goĂ»t cela devrait ĂȘtre beaucoup plus utilisĂ© (mĂȘme pour dĂ©clarer et identifier une URL dans un code JavaScript). L’évolution et la maintenance des codes n’en seront que bien plus simple.

const myURL = new URL("https://example.org/?abc=123");
console.log(myURL.searchParams.get("abc"));
// Prints 123

myURL.searchParams.append("abc", "xyz");
console.log(myURF.href);
// Prints https://example.org/?abc=132&abc=xyz

myURL.searchParams.delete("abc");
myURL.searchParams.set("a", "b");
console.log(myURL.href);
// Prints https://example.org/?a=b

Le constructeur s’occupera de valider l’URL pour vous (une erreur sera throw s’il l’URL n’est pas valide). Vous pourrez ensuite rĂ©cupĂ©rer toutes les informations que vous souhaitez sur votre URL (protocol, username, password, hostname, port, pathname, query etc).

URL peut ĂȘtre aussi utilisĂ© en ESM avec import.meta.url pour remplacer __dirname.

import { readFileSync } from "node:fs";

const buffer = readFileSync(new URL("./data.proto", import.meta.url));

Bonus: How to migrate from querystring to URLSearchParams in Node.js

URL.parse

// Avant
let url = null;
try {
  url = new URL(input, base);
} catch {}

// AprĂšs
const url = URL.parse(input, base);

Liens


âŹ…ïž 🌟 Les diffĂ©rents modules core: Timers | âžĄïž 🌟 Les diffĂ©rents modules core: OS