React中引入使用本地图片

1、css样式中,可以写成如下:

复制代码
.login {
	// 映射路径
  background: url('@images/img-login.png');
  background-size: 100% 100%;
}
.box{
	// 相对路径
  background: url('../assets/images/box.png');
  background-size: 100% 100%;
}

2、在jsx文件中

复制代码
import LoginLogo1 from '@images/icon-login.png'; 
import LoginLogo2 from '../assets/images/icon-login.png';
const Login = () => {
	return (
		<div className="login-box">
       	 	<img src={LoginLogo1}  alt="" />
       	 	<img src={LoginLogo2}  alt="" />
     	 </div>
	);
};
export default Login;

3、如果使用require,使用webpack构建的项目中用法如下:

复制代码
<div className="form-title">
  <img src={require('../../assets/images/logo.png')} alt="" />
</div>

4、如果使用require,使用vite构建的项目中用法如下:

先安装插件:vite-plugin-require-transform
npm i vite-plugin-require-transform --save-dev

在vite.config.js中配置

复制代码
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
import requireTransform from "vite-plugin-require-transform";  // 引入
export default defineConfig({
  plugins: [
    react(),
    // 配置
    requireTransform({
      fileRegex: /.js$|.jsx$/,
    })
  ]
})

在jsx文件中使用

复制代码
<div className="form-title">
  <img src={require('../../assets/images/logo.png')} alt="" />
</div>

5、在JSX文件中,想导入图片,不能直接写成:<img src="./logo.png">,因为打包后,项目结构会变化。

相关推荐
coding随想4 小时前
JavaScript ES6 解构:优雅提取数据的艺术
前端·javascript·es6
小小小小宇4 小时前
一个小小的柯里化函数
前端
灵感__idea4 小时前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
小小小小宇4 小时前
前端双Token机制无感刷新
前端
小小小小宇4 小时前
重提React闭包陷阱
前端
小小小小宇4 小时前
前端XSS和CSRF以及CSP
前端
UFIT4 小时前
NoSQL之redis哨兵
java·前端·算法
超级土豆粉4 小时前
CSS3 的特性
前端·css·css3
星辰引路-Lefan4 小时前
深入理解React Hooks的原理与实践
前端·javascript·react.js
wyn200011285 小时前
JavaWeb的一些基础技术
前端