在Express Dese中提供静态文件不起作用

时间:2020-03-01 21:43:34

标签: node.js

我在项目的根目录中有一个名为typedef的文件夹。我想将所有图像/ css放在其中。

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

public

然后在//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

1 个答案:

答案 0 :(得分:1)

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

因此,您尝试从./startup/public而不是./public服务

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