LoginSignup
5
4

More than 3 years have passed since last update.

webpackで作成したファイルで__dirnameを使うと'/'が返ってくる問題

Last updated at Posted at 2019-10-22

タイトルにある問題にけっこうハマってしまいました。
検索でなかなかヒットしなかったため、 簡単ですがメモとして残しておきます。

__dirnameで'/'が返ってくる

node.jsでパスを取得するやり方はいくつかあります。
__dirnameが実行しているファイルのパス、 process.cwd()は現在のディレクトリのパス、 後はよくpathモジュールを読み込んで使う感じですね。

今回はnpmモジュールを作成しており、 __dirnameの値が欲しかったのですが、 常に'/'が返ってくる状態でした。__filenameは'./index.js'になっていました。

解決策

process.cwd()などで頑張っても良いですが、 __dirnameが使えないとつらい場合もあります。

おそらくwebpackを使用している方に起きていると思います。

webpack.config.js
module.exports = {
  target: "node"
  node: {
    __dirname: false,
    __filename: false
  }
}

を追加することで正しい__dirnameのパスが取得できるようになります。

参考: https://github.com/webpack/webpack/issues/1599

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4