docker 镜像中的 Vapor `Public` 目录没有暴露

问题描述

我在 Mac 上使用 Xcode 运行 Vapor 4.3 和 Leaf,没有任何问题。

公共目录中间件已启用:

let fileMW = FileMiddleware(publicDirectory: directory)
app.middleware.use(fileMW)

一旦我使用认的 dockerfile 构建图像并在 docker 上运行它,css 和所有图像文件就不再加载。

注意:dockerfilevapor new 命令附带的完全相同。 (更新到写这篇文章的日期)

Safari 显示错误

[Error] Did not parse stylesheet at 'http://127.0.0.1/styles/index.css' because non CSS MIME types are not allowed in strict mode.

resources

Chrome 显示此警告:

Resource interpreted as Stylesheet but transferred with MIME type text/plain: "http://127.0.0.1/styles/index.css".

我错过了什么?

解决方法

看起来这是一个区分大小写的问题! Mac 可以找到有此问题的文件,但 Linux 没有!

⚠️ 即使你已经设置了:app.routes.caseInsensitive = true,也不会影响你的资源请求。

因此请确保您已完全按照 pwd 命令中显示的方式设置所有路径。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...