节点JS不发送文件与res.sendFile()

在这里输入图像描述

我的文件结构如上所示,但我无法find错误的文件:Undefined不是一个函数。

应用程序path已设置,我可以通过console.log获取:/ Users / myname / Desktop / myproject / client

如果我导航到localhost:3000例如,页面呈现正确。 然后我可以点击导航到本地主机:3000 /login,一切都还是不错的。 但是,如果我直接进入本地主机:3000 /login,即索引页从未加载,则此路由:'/ *'被击中,并发生未定义的错误。 没有HTML被加载。

我设置了这样的应用程序path:

app.use(express.static(path.join(__dirname, '/client'))); app.set('appPath', path.join(__dirname, '/client')); 

我正在使用Express:“〜4.0.0”

尝试设置相对文件path的根目录,如下所示:

 app.set('base', __dirname); 

接着:

 app.use(express.static('client')); 

确保不要包含/client两次,所以你没有得到像.../client/client...在你的path。

http://expressjs.com/api.html#res.sendFile

res.sendFile() is supported from Express v4.8.0 onwards

你很近

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

问候