Paths and URLs
Join path segments
Use path.join so separators work on Windows and Unix.
import path from "path";
const file = path.join("data", "users", "ada.json");
console.log(file);
Resolve from the script
In ESM, build absolute paths from import.meta.url when needed.
import path from "path";
import { fileURLToPath } from "url";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const configPath = path.join(__dirname, "config.json");
Parse a URL
Handy when reading query strings in an HTTP handler.
const url = new URL("http://localhost:3000/search?q=node");
console.log(url.pathname); // /search
console.log(url.searchParams.get("q")); // node
Never trust raw paths
When serving files, reject .. path traversal. Prefer mapping known routes to known files.
Comments
One comment per signed-in account. Comments are saved with this page’s URL.