3

要在 github 页面上部署项目,我使用以下命令:

ng run ticket-shop:deploy --base-href /deploy/

我的问题是 gh-pages 在调用 assets 文件夹时存在一些严重问题。它总是跳过 '/deploy/' 部分。我在堆栈和 github 上发现了许多其他具有相同问题的问题,但似乎没有一个可以解决。我的问题的不同之处在于,在将“/deploy/”硬编码到资产 url 之后,它仍然会丢失一些图像并加载其他图像。

根据我所阅读的内容应该如何:

根据我的阅读,从css调用assets文件夹需要使用相对路径,所以应该是这样的:

background-image: url("../assets/foobar.jpg");

但它不起作用,gh pages 正在此地址下寻找资产:

https://me.github.io/assets/foobar.jpg

代替

https://me.github.io/deploy/assets/foobar.jpg

我的解决方法

由于我找不到这个问题的任何答案,所以我对此失去了耐心,我已经硬编码了“/deploy/”部分,它确实是“不干净的”,但至少它有点工作。有趣的是,这是我与其他问题的不同之处-它适用于某些图像,而其他图像则无效。

我在css中的每个网址都是这样的:

background-image: url("/deploy/assets/foobar.jpg");

它会加载除一张以外的每一张图片,我不知道为什么,对于一张特定的图片,它仍在查看:

https://me.github.io/assets/neverlucky.jpg
4

1 回答 1

0

我通过使用“~”字符解决了这个问题:

background-image: url("~/assets/foobar.jpg");
于 2020-02-02T23:12:19.350 回答