react里面引入图片

引入图片确实走了很多的坑,开始的认知里,所有静态页面都需要放在public里面能执行,代码是这样的

css

.back{
    background-image: url('/images/homeBackImg.png');
}

图标路径

my-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── public
│   └── images
│         └── homeBackImg.png
│   └── favicon.ico
│   └── index.html
│   └── manifest.json
└── src
    └── App.css
    └── App.js
    └── App.test.js
    └── index.css
    └── index.js
    └── logo.svg
    └── registerServiceWorker.js    

 

自己本地开发也可以,服务里面也可以用,爽歪歪

 

但是

 

发布到自己服务器的时候,img找不到了,404,打开浏览器访问地址是这样的

http://xxx.com/images/homeBack.png

但是打包好的image是在build里面,这样就可以访问

http://xxx.com/build/images/homeBack.png

但是要怎么才能在build的时候,自动让业务里面的路径变成url('./iamges.homeBack.png')呢,而且package.json里面已经设置了

"homepage": ".",但只会改变首页的路径,业务里面并不会去改,所以访问不到
 
 
后面可以通过这个方式去,把image放在src里面,业务里面用相对路径,在build的时候,会自动编译成绝对路径访问
css
.back{
    background-image: url('../../images/homeBackImg.png');
}

图片路径

my-app
├── README.md
├── node_modules/
├── package.json
├── .gitignore
├── public/
│   └── favicon.ico
│   └── index.html
│   └── manifest.json
└── src/
    └── images/
          └── homeBackImg.png
    └── common/
    └── component/
    └── index.css
    └── index.js
    └── logo.svg
    └── registerServiceWorker.js   

 

转载于:https://www.cnblogs.com/wzndkj/p/9024890.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值