【发布时间】:2018-07-18 09:49:50
【问题描述】:
我搜索了所有主题,但找不到类似的问题。
我在文件夹/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 获取我的文件 但它返回 404 和“Cannot GET /static/css/my.css”
可能是什么问题? 我尝试了很多不同的路径,但都没有得到成功的响应。
提前致谢。
【问题讨论】:
-
__dirname对应文件的CWD。所以,path.join(__dirname, 'static)` 应该可以解决问题。 -
苦苦挣扎了很久。现在我解雇了
__dirname,它可以工作了。这是好习惯吗?app.use('/static', express.static(path.join('build/static'), { maxAge: '30d' }));加入的路径之前是/build/static,现在是build/static。 -
是的。看起来不错。
-
谢谢@MukeshSharma 但这仍然很奇怪.....
console.log(path.join(__dirname, 'static'), path.join('build', 'static'), path.join('build/static'));这给了我/static build/static build/static。我认为前面的/是问题......我不太明白......
标签: node.js express webpack static dirname