在github页面上部署angular应用后未加载图像

时间:2019-05-30 13:48:07

标签: angular image github deployment github-pages

我使用以下命令在github页面上部署了一个测试项目:

ng build --prod --base-href https://<profile_name>.github.io/<repo_name>/
ngh --dir=dist/scrabble

除了图像(在本地主机上,每个图像都正在加载)之外,其他所有东西都可以正常工作。


angular.json中的outputPath:

"outputPath": "dist/scrabble/",

angular.json中的资产:

"assets": [
  "src/favicon.ico",
  "src/assets"
],

包含图像的资产文件夹位于<project_folder>/src/assets

一个图像标签示例,可以在localhost上正常运行,但不能在github页面上加载:

  <img src="../../../assets/scaledlogo.png" routerLink="/menu" />

4 个答案:

答案 0 :(得分:2)

如果所有图像都位于资源文件夹中,则只需从路径中删除../即可。

 <img src="assets/scaledlogo.png" routerLink="/menu" />

所以问题是一切都已被转译和最小化,并且assets文件夹不再返回3个目录。 Angular知道资产文件夹在本地运行还是已部署,并且不需要相对路径。

答案 1 :(得分:0)

您需要传递--deploy-url选项。您的情况应该是

ng build --prod --base-href https://<profile_name>.github.io/<repo_name>/ --deploy-url=https://<profile_name>.github.io/<repo_name>/

答案 2 :(得分:0)

删除前面的“ ../”并提及从assets文件夹开始的路径 下面将解决您的问题

<img src="assets/scaledlogo.png" routerLink="/menu" />

如果资产中有其他文件夹,请继续使用该路径。 例如:

<img src="assets/images/leave-procedure/admin1.png" width="400" height="150">

希望这会有所帮助。

答案 3 :(得分:0)

要检查的事情清单:

  1. 检查dist文件夹中是否有资产。
  2. 尝试使用其他路径更新已部署的链接
    • 如果它确实有效,则可能是在诸如angular.json之类的配置文件下设置了路径问题
  3. 检查“网络”标签上是否有任何错误,例如重定向问题
    • 最有可能在后端使用重定向代码。尝试更改文件名。