javascript - Express 静态目录不适用于 CSS 路径
问题描述
我的 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')));
当然,serve static files 也有一些问题
如何使用 node、express 和 ejs 包含 css 文件?
但是,从你的项目来看,没有问题
有趣的故事:为什么我们找不到../public
是错误的路径。
使用 chrome inspect,我们可以认为存在一些 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
.
推荐阅读
- javascript - 如果内容量不固定,如何在特定滚动后隐藏 div?
- android - 为什么在 Android ContentProvider 中我不能使用像 'this' 这样的上下文而不是 getContext()
- c# - Azure Vault 在本地运行
- java - 在 Springboot Java 中维护键值映射对的最佳方法
- android - 无法理解 () -> 调用
- r - 如何为 R 中的每一列创建一个单独的数据框,然后将所有栅格图层栅格化并将其绑定到多层栅格中?
- azure - 扩展 Azure SQL 弹性池存储时是否存在停机时间?
- php - 如何使用多个 php-fpm docker 容器设置单个 nginx 服务器
- flutter - 如何将小部件嵌入图像并将其保存到设备
- java - 使用 Apache POI HSSF 在 Excel 中存储 ArrayList