1. ホーム
  2. node.js

[解決済み] Node.js で ES6 モジュールを使用する際の __dirname の代替案

2022-04-24 11:14:28

質問

フラグを使用する --experimental-modules を実行する際に、ES6モジュールを使用するために、Nodeアプリケーションを実行します。

しかし、このフラグを使用するとメタ変数である __dirname は使用できません。に格納されているのと同じ文字列を取得する別の方法はありますか? __dirname このモードと互換性のあるものを教えてください。

解決方法は?

Node.js 10.12では、複数のファイルを作成する必要がなく、プラットフォーム間でファイル名の特殊文字を扱える代替手段が用意されています。

import { dirname } from 'path';
import { fileURLToPath } from 'url';

const __dirname = dirname(fileURLToPath(import.meta.url));