[解決済み] node REPLで__dirnameが定義されていないのはなぜですか?
2022-04-24 20:22:52
質問
nodeのマニュアルによると、ファイルのディレクトリを取得するために
__dirname
しかし、REPLからは、これは未定義であるように見えます。これは私の誤解なのでしょうか、それともどこに誤りがあるのでしょうか?
$ node
> console.log(__dirname)
ReferenceError: __dirname is not defined
at repl:1:14
at REPLServer.eval (repl.js:80:21)
at Interface.<anonymous> (repl.js:182:12)
at Interface.emit (events.js:67:17)
at Interface._onLine (readline.js:162:10)
at Interface._line (readline.js:426:8)
at Interface._ttyWrite (readline.js:603:14)
at ReadStream.<anonymous> (readline.js:82:12)
at ReadStream.emit (events.js:88:20)
at ReadStream._emitKey (tty.js:320:10)
解決方法は?
__dirname
はスクリプトでのみ定義されます。REPLでは利用できません。
スクリプトを作成してみる
a.js
console.log(__dirname);
をクリックして実行します。
node a.js
をご覧ください。
__dirname
を印刷しました。
背景の説明を追加しました。
__dirname
は「このスクリプトのディレクトリ」という意味です。 REPLでは、スクリプトはありません。 したがって
__dirname
は本当の意味を持たない。
関連
-
[解決済み】エラーです。EACCES: 権限が拒否されました、アクセス '/usr/local/lib/node_modules' 。
-
[解決済み] エラーです。Expressでビューの検索に失敗しました
-
[解決済み] MongoNetworkError: 最初の接続でサーバー [localhost:27017] への接続に失敗 [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017] 。
-
[解決済み] エラーです。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりません。
-
[解決済み] ノード / エクスプレス EADDRINUSE、アドレスはすでに使用中です - サーバーを停止してください。
-
[解決済み] Babel 6 regeneratorRuntimeが定義されていません。
-
[解決済み] Node.jsで「ReferenceError: primordials is not defined」を修正する方法
-
[解決済み] Node.jsのバージョンはコマンドラインから?(REPLではありません)
-
[解決済み] node.jsの__dirnameと./の違いは何ですか?
-
[解決済み] process.cwd() と __dirname の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】passport.js passport.initialize() ミドルウェアが使用されていません。
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] Expectアサーションの型エラー -> expect(...).toExistは関数ではない
-
[解決済み] joiライブラリを使用して2つの時間を比較する方法
-
[解決済み] E: npm パッケージを見つけることができません。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] nodejsでfindAllのソート順を続編にする
-
[解決済み] Node.jsを使用してディレクトリが存在しない場合に作成する方法
-
[解決済み] Node.js で ES6 モジュールを使用する際の __dirname の代替案