微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 .net 中 wwwroot 内的多个文件夹提供 html 文件

如何解决如何从 .net 中 wwwroot 内的多个文件夹提供 html 文件

我在 wwwroot 中有多个文件夹,每个文件夹都有一个 web 包(VueJs/Angular/React App 的 dist 文件内容)。 如屏幕截图所示,我在构建 Vuejs 应用程序后创建了 2 个文件夹并复制了 dist 内容

wwwroot folder structure

如果我将 dist 内容直接复制到一个应用程序的 wwwroot 文件夹并导航到 localhost:5000/ 则该应用程序正在正确加载。 但是有多个文件夹,当我导航到 localhost:5000/page1/index.html 时,浏览器控制台显示以下错误

加载资源失败:服务器响应状态为 404(未找到)

这是因为浏览器中没有加载js和CSS文件夹。

Brower sources screenshot

下面是我在 Startup.cs 文件中的代码

app.UseStaticFiles();
app.UseFileServer(new FileServerOptions
{
   EnableDirectorybrowsing = true,});

有人可以帮我解决这个问题吗?

解决方法

虽然您可以为每个单独的图像、css 或 javascript 资源获得 404 响应,但 html 文件本身应该不会产生该结果。相反,您应该看到页面在没有这些资源的情况下呈现的样子,每个资源都会在您的浏览器开发人员工具中显示它自己的 404,但只有在成功加载 html 之后。

有多种方法可以修复额外丢失的资源。这里有两个:

  1. 使用相对引用(img/SomeImage.png 而不是 /img/SomeImage.png 或完整 URL)

  2. 使用 base 标记将根重置为当前位置 (<base href="//localhost:5000/Page1/">)。这属于 html 的 head

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?