node.js - 快递不包括资产
问题描述
我正在尝试使用 express 将资产加载到我的 EJS 文件中,但它不起作用。我只是收到消息
无法获取 /assets/main.css
即使我在我的主应用程序中制作了加载程序:
app.use(express.static(path.join(__dirname, './assets')));
打印路径后,我看到它正确并且文件存在。所以使用后
<link href="assets/main.css" rel="stylesheet">
我无法访问该文件。问题可能出在哪里?
解决方案
现在,您的app.use(...)
声明是说:我希望在./assets
导航到我的应用程序时提供目录,换句话说,当我打开浏览器时http://localhost
,提供文件夹中的任何内容./assets
。
然后,您尝试访问位于 的文件main.css
。http://localhost/assets/main.css
它不在那里,它在http://localhost/main.css
。
您有 2 个选项:
- 更改您的
<link>
标签以指向资产实际所在的位置:
<link href="main.css" rel="stylesheet">
- 更改您以在不同的端点
app.use()
托管文件夹:./assets
app.use('/assets', express.static(path.join(__dirname, './assets')));
推荐阅读
- angular - Angular - 使用 ngOnInit 加载组件
- c# - C#通过按下按钮在后台执行
- websphere - MQ 队列管理器别名
- reactjs - 如何将 Material-ui App Bar 添加到类组件?
- swift - 如何在 Swift 中裁剪 UIImage 以进行遮罩
- ruby-on-rails - 查找具有至少一个关联的记录,但排除任何关联匹配条件的记录
- java - 如何在数据库JAVA中建立两个对象之间的关系
- .net - 从 C++/CLI 程序集创建 AnyCPU-only 元数据程序集
- google-sheets - 在数组公式中,查找直到每一行的最后一个特定值
- ocaml - Coq 中的非空列表附加定理