Express静态目录不适用于CSS路径

时间:2019-05-13 18:02:42

标签: javascript node.js express

我的app.js中有这个

app.use(express.static(path.join(__dirname, '../public')));

..这是我的主要版面设计页面

<link rel="stylesheet" href="/css/styles.css">

我已经尝试过几乎所有我能想到的组合,但是我无法连接样式表。

您可以在此处查看存储库以了解文件层次结构-https://github.com/NolWag/Shopify-eCommerce-App

enter image description here

我似乎无法弄清我所缺少的内容,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

请使用
app.use(express.static(path.join(__dirname, './public')));
代替
app.use(express.static(path.join(__dirname, '../public')));

当然,投放静态文件中存在一些问题
How can I include css files using node, express, and ejs?
但是,从您的项目来看,没有问题


有趣的故事:为什么我们找不到../public是错误的路径。

Screen

使用chrome inspect,我们可以认为存在某些mime类型错误。


???: 尽管没有express.static的文件,但express是以

的形式发送消息
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Error</title>
    </head>
    <body>
        <pre>Cannot GET /css/styles.css</pre>
    </body>
</html>

而不是 404


=> 因此,我们感到困惑,并且我们无法检测到没有styles.css


我们可以使用http://localhost:3000/css/styles.css进行调试,然后可以找到Cannot GET /css/styles.css。 因此,我们发现../public是错误的,并用./public进行了修复。