我正在尝试使用 ember serve
加载应用程序。某些图像未找到错误获取。在 CSS 中:
background-image: url(assets/images/image.svg);
其重定向至
http://localhost:4200/assets/assets/images/image.svg 404(未找到(
因为在这个URL中添加了两个资产名称,这就是为什么找不到图像的原因,我不知道这个资产在哪里添加的。
在URL的前缀中添加'/'
时,我能够在应用程序中看到图像。
background-image: url(/assets/images/image.svg);
其重定向至
http://localhost:4200/assets/images/image.svg - 工作正常
如何在不使用'/'
作为资产前缀的情况下避免两个资产名称。请帮助任何人...
前导斜杠/
的URL是CSS中的相对URL,并且从HTML中已知。URL 相对于 CSS 文件的位置,而不是相对于导入 CSS 文件的文档。Ember.js默认情况下将CSS文件放在构建/assets
中。应用程序样式存储在 /assets/appname.css
中。因此,样式中定义的所有相对 URL 都相对于构建输出中的/assets
文件夹。长话短说:不应将assets/
添加到应用程序样式中使用的相对 URL。
另一种选择是按照评论中的建议使用绝对 URL,但如果我对您的问题是正确的,那不适合您(例如,导致应用程序未部署到文档根而是子文件夹(。