ESMで__filenameと__dirname
Node.js の ESM では __dirname
や __filename
がデフォルトでは使えません。 これらを ESM でも使いたい場合は、以下のように自作する必要があります。
目次:
前提
- Node.js v16.14.2
サンプルコード
test.mjs
import path from "path";
import { fileURLToPath } from "url";
// __filename:
const __filename = fileURLToPath(import.meta.url);
// __dirname:
const __dirname = path.dirname(__filename);
以上です。