javascript
const args = process.argv.slice(2);Node.js filesystem, HTTP, process, streams, events, child processes, and worker threads.
Args, env, paths, process control, and console utilities.
const args = process.argv.slice(2);process.exitCode = 1;const cwd = process.cwd();const fileUrl = import.meta.url;console.table(rows);Read, write, append, copy, remove, and inspect files.
import { readFile } from "node:fs/promises";
const text = await readFile("notes.txt", "utf8");import { writeFile } from "node:fs/promises";
await writeFile("out.json", JSON.stringify(data, null, 2));import { appendFile } from "node:fs/promises";
await appendFile("app.log", "started
");import { mkdir } from "node:fs/promises";
await mkdir("logs", { recursive: true });import { readdir } from "node:fs/promises";
const files = await readdir(".");import { rm } from "node:fs/promises";
await rm("tmp", { recursive: true, force: true });import { copyFile } from "node:fs/promises";
await copyFile("a.txt", "b.txt");import path from "node:path";
const full = path.join(process.cwd(), "data", "users.json");const parsed = path.parse("/tmp/app.log");Create HTTP servers, fetch, stream files, and process request bodies.
import http from "node:http";
const server = http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello");
});
server.listen(3000);const res = await fetch("https://api.example.com/health");
const json = await res.json();import { createReadStream, createWriteStream } from "node:fs";
import { pipeline } from "node:stream/promises";
await pipeline(createReadStream("in.txt"), createWriteStream("out.txt"));const chunks = [];
for await (const chunk of req) chunks.push(chunk);
const body = Buffer.concat(chunks).toString("utf8");import { createReadStream, createWriteStream } from "node:fs";
import { createGzip } from "node:zlib";
createReadStream("app.log").pipe(createGzip()).pipe(createWriteStream("app.log.gz"));EventEmitter, exec/spawn, and worker threads.
import { EventEmitter } from "node:events";
const bus = new EventEmitter();
bus.on("ready", () => console.log("ready"));
bus.emit("ready");import { once } from "node:events";
await once(server, "listening");import { exec } from "node:child_process";
exec("node -v", (err, stdout) => console.log(stdout));import { spawn } from "node:child_process";
const child = spawn("npm", ["run", "build"], { stdio: "inherit" });import { Worker } from "node:worker_threads";
const worker = new Worker(new URL("./worker.js", import.meta.url));