react中用css加载背景图的2种情况

第一种

css文件中载入背景图,用@或./之类的都可以

resolve.alias已经设置过@路径

就算vite.config.js中设置了base,打包时会自动加上,无需操心

第二种

行内背景图片地址,在jsx中使用

复制代码
import useImages from '@/useImages.js'
var pic = useImages()

images下直属图片

useImages源码

因为源码中已写死了images,所以在调用时,无需重复写images,只需撰写余下路径

另外如果你的文件夹不是images,可以改成别的文件夹名

复制代码
import { useMemo } from "react";

export default function useImages() {
  // 扫描 images 目录及其子目录下的所有图片
  const modules = import.meta.glob('@/images/**/*.{png,jpg,jpeg,svg}', { eager: true });

  const images = useMemo(() => {
    const map = {};
    Object.entries(modules).forEach(([path, mod]) => {
      // 提取相对路径,例如 icons/icon1.png
      const relativePath = path.split('/images/')[1];
      map[relativePath] = mod.default;
    });
    return map;
  }, [modules]);

  return images;
}
相关推荐
用户新24 分钟前
V8引擎 精品漫游指南--Ignition篇(下 一) 动态执行前的事情
前端·javascript
阿里嘎多学长24 分钟前
2026-04-30 GitHub 热点项目精选
开发语言·程序员·github·代码托管
叶小鸡2 小时前
Java 篇-项目实战-苍穹外卖-笔记汇总
java·开发语言·笔记
@PHARAOH2 小时前
WHAT - GitLens vs Fork
前端
yqcoder2 小时前
前端性能优化:如何减少重绘与重排?
前端·性能优化
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第22题:HashMap 和 HashSet 有哪些区别
java·开发语言·哈希算法·散列表·hash
时空系3 小时前
第10篇:继承扩展——面向对象编程进阶 python中文编程
开发语言·python·ai编程
洋子3 小时前
Yank Note 系列 13 - 让 AI Agent 进入笔记工作流
前端·人工智能
CHANG_THE_WORLD4 小时前
python 批量终止进程exe
开发语言·python
古城小栈4 小时前
从 cargo-whero 库中,找到提升 rust 的契机
开发语言·后端·rust