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()