使用react 引入相对路径文件

如何用React加载一个带有相对路径的静态文件

方法一:若文件在 src 文件夹中(适用于打包文件)

当你将静态文件放置在 src 文件夹内时,可以使用 import 语法将它们导入到组件中。Webpack 会将这些文件打包到最终的输出中。

javascript 复制代码
若路径是下面这样
src/
  assets/
    image.png
  components/
    MyComponent.js
你可以像这样导入和使用图片:
import React from 'react';
import image from '../assets/image.png';  // 相对路径导入

const MyComponent = () => {
    return (
        <div>
            <img src={image} alt="Description" />
        </div>
    );
};

export default MyComponent;

方法 2:在 public 文件夹中使用相对路径(适用于不需要打包的文件)

如果你的文件不需要通过 Webpack 打包,而是直接访问的文件,你可以将它们放在 public 文件夹下,并使用相对路径访问。

javascript 复制代码
// 假设你有以下目录结构:
public/
  assets/
    image.png
src/
  components/
    MyComponent.js
    
// 你可以在组件中使用以下方式引用图片:
import React from 'react';
const MyComponent = () => {
    return (
        <div>
            <img src="/assets/image.png" alt="Description" />
        </div>
    );
};
export default MyComponent;
// 注意,这里的路径 /assets/image.png 是相对于 public 文件夹的路径,而不是相对于 src 文件夹。

小结(圈重点!!!)

  • 放在 public 文件夹中的静态资源:路径应该以 / 开头,如 /assets/image.png。
  • 放在 src文件夹中的资源:可以通过 import 语法导入,并且路径是相对于组件文件的。
相关推荐
原则猫几秒前
前端基础大厦
前端
陈随易1 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
SoaringHeart2 小时前
Flutter进阶:基于 EasyRefresh 的下拉刷新封装 n_easy_refresh_mixin.dart
前端·flutter
IT_陈寒4 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰4 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
竹林8185 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
妙码生花5 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
Awu12276 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
咪库咪库咪6 小时前
Vue3-生命周期
前端
莪_幻尘7 小时前
你的 AI Skill 越多越蠢?Token 上下文爆炸的求生指南
前端·ai编程