đą 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
- WHATWG-compliant and fast URL parser written in modern C++
-
[Yagiz Nizipli & Daniel Lemire Ada: Parsing Millions of URLs per Second](https://www.youtube.com/watch?v=tQ-6OWRDsZg)
âŹ ïž đ Les diffĂ©rents modules core: Timers | âĄïž đ Les diffĂ©rents modules core: OS