css - 找不到角度资产静态文件
问题描述
问题:解决资产文件夹中的字体导致 404 Not Found 错误。
http://server.com/assets/fonts/Bold/RobotoCondensed-Bold.woff2
它虽然适用于本地开发:
http://localhost/assets/fonts/Bold/RobotoCondensed-Bold.woff2
详细信息:我有一些字体位于资产文件夹中。它们被正确复制到 docker 图像路径:/usr/share/nginx/html/assets/fonts/Bold/RobotoCondensed-Bold.woff2
如果我请求http://server.com/service/assets/fonts/Bold/RobotoCondensed-Bold.woff2
,则检索我的字体。/service
前缀是提供服务的示例名称。
本地开发人员的基础 href 从server.com更改<base href="/">
为<base href="/service/">
我该如何解决这个问题。我可以尝试将 url 从更改为/assets/fonts/Light/RobotoCondensed-Light.woff
,service/assets/fonts/Light/RobotoCondensed-Light.woff
但在本地开发期间,此前缀不存在,因此我的字体将停止在本地环境中工作。
我还想提一下,我的 favicon.ico 服务正确。在本地环境前端请求不带前缀,而在服务器上它请求带有前缀 /service 的 favicon。Favicon 只在里面提到index.html
:
<link rel="icon" type="image/x-icon" href="favicon.ico" />
_fonts.scss 文件:
@font-face {
font-family: 'Roboto Condensed';
src: url('/assets/fonts/Light/RobotoCondensed-Light.woff2') format('woff2'),
url('/assets/fonts/Light/RobotoCondensed-Light.woff') format('woff');
font-weight: 300;
font-style: normal;
font-display: swap;
}
angular.json 文件:
"assets": [
"projects/service/src/favicon.ico",
"projects/service/src/assets"
],
"styles": [
"projects/service/src/assets/scss/modules/_fonts.scss"
],
我对角度和前端很陌生,无法解决这个问题。非常感谢任何帮助。
解决方案
我需要在我的网址中使用相对路径。
./assets/fonts/Light/RobotoCondensed-Light.woff
推荐阅读
- javascript - 为什么在使用 JQuery attr() 分配 ID 后无法与元素交互?
- python - 当 n_jobs != 1 时,Scikit-Learn 在 FeatureUnion 中没有记录输出
- python - 使用 Pytorch 加载巨大的图像数据集和一些数据增强
- java - 以整数作为键和值的 HashMap 需要很长时间才能完成工作
- asp.net - vb.net - 在 ScriptManager 上包含来自本地系统的 .js 文件
- c# - 使用 TagBuilder 在标签之间添加文本
- api - 从 api 获取数据的 Ionic 3 问题
- keras - 在 Spark 中使用 KerasClassifier 进行交叉验证时出现 PicklingError
- ios - 在加载之前为所有索引调用 sizeForItemAtIndexPath - 我很确定我遇到了 UICollectionView 错误或设计不佳
- python - 将字符串转换为文件名