Express静态目录不使用CSS路径

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (205)

我在我的app.js中有这个

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

..这是我的主要布局页面

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

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

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

我似乎无法弄清楚我错过了什么,非常感谢任何帮助。

提问于
用户回答回答于

请使用 app.use(express.static(path.join(__dirname, './public'))); 而不是 app.use(express.static(path.join(__dirname, '../public')));

当然,服务静态文件存在一些问题 如何使用node,express和ejs包含css文件? 但是,从您的项目中,没有问题

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

使用chrome检查,我们可以认为有一些mime类型错误。

???:虽然没有文件express.static,但是发送消息为

<!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

扫码关注云+社区

领取腾讯云代金券