我正在使用create-react-app,当出于生产目的构建我的项目时,显示从SCSS文件调用的资产时出现问题。
这是我的构建层次结构:
- index.html
- assets/
- arrow2.svg
- static/
- css/
- js/
Styles.scss:
&.card {
background: $green700;
border-color: $green700;
color: #fff;
&:after{
background-image: url("/assets/arrow2.svg");
}
package.json包含"homepage": "."
使用当前的background-image
值,我没有错误,它在本地运行,但不在我的服务器上运行。
可以肯定,我弄乱了某些地方的设置。
编辑:我想更好地指出问题。当前,服务器正在从该URL询问图像:
http://server.com/assets/arrow2.svg
但实际的应用位于/react-app
,因此应该相对从以下位置获取图像:
http://server.com/react-app/assets/arrow2.svg
当我尝试在style.scss中使用./assets/arrow2.svg
时,出现错误消息,指出该文件无法找到,并且无法运行build。
答案 0 :(得分:0)
如果您使用的是Git或Heroku,则照片必须位于“公共”文件夹中。