【发布时间】:2017-08-05 18:13:26
【问题描述】:
我的文件夹结构是这样的
-myapp
-assets
-home-page-img
-header-bg.jpg
-src
-app
-home-page
-home-page.component.css
-home-page.component.html
-home-page.component.ts
在我的 home-page.component.css 中,我有以下内容
header {
width: 200px;
height: 200px;
background-image: url('/src/assets/home-page-img/header-bg.jpg');
}
My angular-cli.json
"assets": [
"assets",
"favicon.ico"
]
当我运行代码时,我得到了
GET http://localhost:4200/src/assets/home-page-img/header-bg.jpg 404 (Not Found)
为了演示目的,如果我将背景图像更改为以下内容,我会得到一个完全不同的错误
background-image: url('assets/home-page-img/header-bg.jpg');
./src/app/home-page/home-page.component.css
Module not found: Error: Can't resolve './assets/home-page-img/header-bg.jpg' in '/Users/JohnSmith/Desktop/my-app/src/app/home-page'
我怎样才能加载该图像?
【问题讨论】:
-
查看图片在dist文件夹中的位置。你永远不应该访问 src 文件夹,无论如何它在生产版本中都不可用。
-
这是有道理的。但是,如果我引用 dist 文件夹,它会给我一个错误,因为 dist 文件夹在我运行 ng build --prod 之前不存在。
-
在你的 dist 中使用带有 ref 的相对路径。尝试 ../assets/home-page-img/header-bg.jpg 。这就是在我的 ionic 2 项目中对我有用的东西..
-
试试 background-image: url('../../assets/home-page-img/header-bg.jpg');
-
@Thyagu 成功了!谢谢。请提供答案,我可以投票给它