express.static不提供

时间:2018-07-18 09:49:50

标签: node.js express webpack static dirname

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

我在文件夹server.js中有一个/build

// /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的{​​{1}}开始nodemon

我假设我应该通过localhost:8080 / static / css / my.css获取文件 但它会返回404和“无法获取/static/css/my.css”

可能是什么问题? 我尝试了许多不同的方法,但是没有得到成功的答复。

谢谢。

1 个答案:

答案 0 :(得分:0)

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

主要问题是__dirname总是返回/。 我在webpack配置中添加了以下几行:

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

您可以在https://github.com/webpack/webpack/issues/2010#issuecomment-181256611

的webpack中找到有关__dirname行为的详细描述。