从节点手册中我看到我可以获取文件的目录__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)
Run Code Online (Sandbox Code Playgroud) 我--experimental-modules
在运行节点应用程序时使用该标志以使用ES6模块.
但是,当我使用此标志时,元变量__dirname
不可用.是否有另一种方法可以获得__dirname
与此模式兼容的相同字符串?
我正在使用ESLinter进行简单的节点项目.下面是我在index.js中唯一的代码:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send({
hi: 'there'
});
});
const PORT = process.env.PORT || 5000;
app.listen(PORT);
Run Code Online (Sandbox Code Playgroud)
我正在使用VSCode
编辑器.它自动运行ESLint for JS代码.
在IDE中,我看到下面的错误,但最后一行 -
[eslint] 'process' is not defined. (no-undef)
Run Code Online (Sandbox Code Playgroud)
任何想法有什么不对?