express.static 不发货

express.static does not deliver

我搜索了所有主题,但找不到类似的问题。

我在文件夹 /build

中有一个 server.js
// /build/server.js

import express from 'express';

const app = express();

app.use('/static', express.static(path.join(__dirname, 'build', 'static'), { maxAge: '30d' }));

/build/static/css/my.css 中的 css 文件。 我从根文件夹 /

中使用 build/server.js 启动 nodemon

我假设我应该通过 localhost:8080/static/css/my.css 获取我的文件 但它 returns 一个 404 和 "Cannot GET /static/css/my.css"

可能是什么问题? 我尝试了很多不同的路径,但从未得到成功的回应。

提前致谢。

我最终决定使用 __dirname 来防止由服务器启动目录的相对路径引起的错误。

主要问题是 __dirname 总是返回 /。 我将以下行添加到我的 webpack 配置中:

target: 'node', // was already there
node: { // has been added
  __filename: false,
  __dirname: false
},

您可以在此处的 webpack 中找到对 __dirname 这种行为的更详细描述:https://github.com/webpack/webpack/issues/2010#issuecomment-181256611