Javascript 节点类型错误:需要根路径

Javascript 节点类型错误:需要根路径,javascript,node.js,express,Javascript,Node.js,Express,我正在尝试设置一个简单的node/express服务器,收到以下错误 TypeError:需要根路径 我想知道如何修复这个错误。 谢谢 这样试用 app.use(express.static(__dirname + '/public')); 我的意思是使用\u dirname从主根路径获取数据。修改.bash\u profile add导出节点\u模块\u DIR=ggggggggg 顺便说一句,别忘了重新启动服务器 TL;医生: 检查正在传递的publicDir或nodeModulesD

我正在尝试设置一个简单的node/express服务器,收到以下错误

TypeError:需要根路径

我想知道如何修复这个错误。 谢谢


这样试用

app.use(express.static(__dirname + '/public'));

我的意思是使用
\u dirname
从主根路径获取数据。

修改.bash\u profile add导出节点\u模块\u DIR=ggggggggg

顺便说一句,别忘了重新启动服务器

TL;医生: 检查正在传递的publicDirnodeModulesDir变量

Express使用该模块

因此,错误来自:

function serveStatic (root, options) {
  if (!root) {
    throw new TypeError('root path required')
  }
   ...
}
serveStatic(根目录,选项)

创建一个新的中间件函数 来自给定根目录中的文件。要送达的文件将是 通过将req.url与提供的根目录相结合来确定。什么时候 未找到文件,此模块不发送404响应 将调用next()以转到下一个中间件,允许 用于堆叠和后退


你是如何运行你的节点应用程序的?(请添加命令)听起来好像未设置
$NODE\u MODULES\u DIR
…我正在使用NODE myfilename.js运行实际上在一些日志记录之后,我将nodeModulesDir视为undefined@Radex,您需要设置环境变量,我试了一下,解决了这个问题!这对我来说很有效,但我的问题是我必须更改app.use(Express.static(_dirname))
应用程序使用(Express.static(uu dirname+'/')(添加斜杠)在调试期间visual code studio给我这个错误时工作得很好。知道在Codesandbox中的.bash_配置文件在哪里吗?
function serveStatic (root, options) {
  if (!root) {
    throw new TypeError('root path required')
  }
   ...
}