Node.js 在Express dese中提供静态文件不起作用

Node.js 在Express dese中提供静态文件不起作用,node.js,Node.js,我的项目根目录中有一个名为public的文件夹。我想把我所有的图片/css都放进去 现在,我想将服务静态部分放在名为config的单独模块中: //config.js const express = require('express'); module.exports = function (app) { app.use("/static", express.static(__dirname + '/public')); } 然后在server.js中 const express

我的项目根目录中有一个名为
public
的文件夹。我想把我所有的图片/css都放进去

现在,我想将服务静态部分放在名为config的单独模块中:

//config.js

const express = require('express');  
module.exports = function (app) {
   app.use("/static", express.static(__dirname + '/public'));
}
然后在
server.js中

const express = require('express')
const app = express();

require('./startup/config')(app);

app.get('/', (req, res, next) => {
    res.send("Hi, How's it going ?")
})

app.listen(4500, () => {
    console.log("Server is running ...");
})
现在,当我想打以下地址时

http://localhost:4500/static/xxx.jpg
我得到以下错误

Cannot GET /static/xxx.jpg
项目结构:

-node_modules
-server.js
-public
-------xxx.jpg

您的
config.js
文件位于
/startup
目录中。
\uuu dirname
指当前文件所在的目录

因此,您试图从
/startup/public
而不是
/public
提供服务

您可以尝试在
config.js
文件中使用
process.cwd()