从节点手册中,我可以使用来获得文件的目录__dirname,但是从REPL中,这似乎是未定义的。这是我的误解还是错误在哪里?
__dirname
$ 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
a.js
console.log(__dirname);
并运行它:
node a.js
您将看到__dirname打印。
添加了背景说明:__dirname表示“此脚本的目录”。在REPL中,您没有脚本。因此,__dirname将没有任何实际意义。