使用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 语法导入,并且路径是相对于组件文件的。
相关推荐
breeze jiang16 分钟前
React Todos 前端独立开发全解:用 vite-plugin-mock + axios 封装,再也不等后端接口
前端·react.js·状态模式
cyadyx22 分钟前
【vue】Pinia相对Vuex
前端·javascript·vue.js
码上成长33 分钟前
小程序请求层怎么封装?
前端·小程序
IT_陈寒1 小时前
Redis的KEYS命令差点把我的生产环境拖垮,改用SCAN吧
前端·人工智能·后端
deli0070071 小时前
打飞碟射击场:霓虹星空下飞碟满天飞,鼠标点射一枪一个
前端·ai编程
zoe驿鹿1 小时前
【CI/CD】前端工程化与自动化:从“手工作坊”到“现代化工厂”的演进之路
前端·ci/cd·自动化
lupai1 小时前
增值税发票 OCR 识别 API 新手接入指南
java·前端·ocr
IMPYLH1 小时前
HTML 的 <figure> 元素
前端·javascript·html
reasonsummer1 小时前
【办公类-120-01】20260812闵行区幼儿园概况表的数据统计(户籍、五类性质、优抚子女)
前端·python