node:
specifiers
Deno supports using Node.js built-in modules such as
fs,
path,
process, and many more via
node:
specifiers.
import { readFileSync } from "node:fs";
console.log(readFileSync("deno.json", { encoding: "utf8" }));
Take note that importing via a bare specifier (ex.
import { readFileSync } from "fs";
) is not supported. If you attempt to do so
and the bare specifier matches a Node.js built-in module not found in an import
map, Deno will provide a helpful error message asking if you meant to import
with the node:
prefix. Additionally the LSP provides a quick fix to update to
a node:
specifier.
If you are using code both with Deno and Node.js, the node:
scheme will work
in both runtimes and it's recommended to update to them for your Node.js code.