react项目打包遇到的坑

页面空白

解决方法:
package.json文件中加上一个属性:“homepage”:"./"
在这里插入图片描述

路由不能正常跳转

原因:
出现这个问题的原因应该是history的模式没有用对了,要想解决这个问题,要把history变成hash模式

解决方法:
把引入路由那里的BrowserRouter 换成 HashRouter

BrowserRoute引入打包后路由不能跳转:
在这里插入图片描述

HashRouter引入打包后路由可以正确跳转
在这里插入图片描述

图片没有正确显示

图片加载不出来的问题一般都是由于路径设置不准确导致的,建议采用import xxx from “xx/xx/xx.png”或者require(“xx/xx/xx.png”)的方式引用

下面是几种react中插入图片以及背景图片的方式
1.img标签引入图片

直接内部引入(require方式)

<img src={require('../../images/demo01bg.jpg')} alt="标签"/>

变量方式引入(import方式)

import img from '../../images/demo01bg.jpg'' //引入图片的路径
<img src={img} />     //变量的方式引入图片,记得用{}大括号来进行引用

2.背景图片的引入

直接定义的方式
background: url('./images/02bg.jpg') 0 0 no-repeat;
在这里插入图片描述

变量的方式引入

//  import方式引入图片文件
import mainbg from './images/02bg.jpg'

// 通过字符串拼接的方式定义一个样式对象
const imgStyle = {
  backgroundImage: 'url(' + mainbg + ')',
  backgroundSize: '100%',
  backgroundRepeat: 'no-repeat'
}
class Home extends Component {
	constructor () {
		super (props)
	}
	render() {
		// 最后直接将变量赋值给标签
		<div style="imgStyle">
			...
		</div>
	}
}
//  require方式引入图片文件

const imgStyle = {
  background: `url(${require("Image/02bg.jpg")})`,
  backgroundSize: '100%',
  backgroundRepeat: 'no-repeat'
}

class Home extends Component {
	constructor () {
		super (props)
	}
	render() {
		// 最后直接将变量赋值给标签
		<div style="imgStyle">
			...
		</div>
	}
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值