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;
}
相关推荐
love_muming1 分钟前
Java编程核心技巧全解析
java·开发语言·idea
2501_940041741 分钟前
全栈开发实战:5个高复杂度后端集成场景
前端
蝎子莱莱爱打怪3 分钟前
👋🏻👋🏻再见,拉勾网——那个"最懂互联网人"的招聘平台倒了😭
前端·后端·招聘
o丁二黄o5 分钟前
语义版本控制:用Gemini镜像站实现合同条款的深度差异分析与风险追踪
javascript·kotlin·scala
wjm0410066 分钟前
简单谈谈ios开发中的UI
开发语言·ios·swift
slandarer11 分钟前
MATLAB | 土地利用变化桑基图及状态转移桑基图绘制
开发语言·数学建模·matlab·桑基图
步十人19 分钟前
【JavaScript】通过AJAX技术让前端发请求到后端
javascript·ajax·okhttp
L_090721 分钟前
【C++】面向对象三大特性之多态
开发语言·c++
weixin_4379189621 分钟前
前端String 数组和Math API大全
前端·javascript
阿正的梦工坊21 分钟前
【Typescript】03-函数对象与接口
前端·javascript·typescript