【发布时间】:2019-04-11 08:53:00
【问题描述】:
我有一个 Angular 项目,主页主要是 HTML。当我输入“npm start”时,所有图像都成功加载。当我键入“npg build --base-href "/MyProject/" --prod 时,当我使用唯一端口创建自己的网站时,主页是空白的。当我在默认网站下添加网站时,主页会加载但我看到了错误
加载资源失败:服务器响应状态为 404(未找到)
对于它尝试加载的每个图像
在 HTML 代码中,它有以下内容
<div> <div><p> <img alt="" src="/assets/img/image123.png" /></a></p></div> </div>
我尝试像<img alt="" src="~/assets/img/image123.png" /> 这样添加波浪号,但它仍然不起作用。
最后,我再次加载 Chrome 并按 F12。我点击了 404 错误并查看了与主页相关联的图像列表。在加载有问题的图片上,我将页面视为
http://localhost/assets/img/image123.png
页面不正确,找不到图片。
我想如果我可以在默认网站下加载图像,那么它也会加载到自己的网站和端口号中。我希望图像位置问题修复将修复 IIS 中的加载。
我还将图像文件复制/粘贴到它位于 wwwroot/MyProject/image123.png 的根文件夹中。当我更改以下内容时,它实际上会加载文件
<div> <div><p> <img alt="" src="image123.png" /></a></p></div> </div>
但是,当我使用以下内容将图像文件移动到 wwwroot/MyProject/assets/image123.png 时
<div> <div><p> <img alt="" src="/assets/img/image123.png" /></a></p></div> </div>
它不加载图像。我尝试更改为以下
<img alt="" src="~/assets/img/image123.png" />
<img alt="" src="~assets/img/image123.png" />
它不加载图像文件。我不确定为什么当它位于子文件夹中时它无法加载图像文件。
我还尝试了右键单击并让每个人都可以完全控制资产文件夹。我被这个难住了。它会加载到 MyProject 文件夹中,但当我将图像文件移动到 img 文件夹所在的子文件夹中时不会加载。
谢谢
【问题讨论】:
-
尝试相对路径
./assets/img/image123.png或assets/img/image123.png -
不。那也行不通。我按 F12 并尝试localhost:80/MyProject/assets/img/image123.png。那是行不通的。但是,使用端口 4200 上的 CLI,localhost:4200/MyProject/assets/img/image123.png,这项工作。关于 IIS 的一些我不明白的地方。
-
这是一个 .Net 配置问题。资产是否在
wwwroot/MyProject/assets中? -
是的。所有图像文件的完整文件夹路径是 wwwroot/MyProject/assets/img。我正在使用我的本地 IIS 来获取角度主页。我被难住了。
-
您使用它是因为您将在 IIS 上部署它,还是仅仅因为您不想安装 Apache?如果是第二个,一个非常容易使用的静态服务器是 nodeJs http-server。在全局
npm install -g http-server安装后,你只需要用你的终端去好文件夹并执行http-server