为 ReactJS 应用程序导入图像的问题

Posted

技术标签:

【中文标题】为 ReactJS 应用程序导入图像的问题【英文标题】:Issues with importing images for ReactJS App 【发布时间】:2021-06-15 05:32:01 【问题描述】:

使用 create-react-app 和 tailwindcss 创建了一个应用。我正在尝试在我的网站中显示本地图像。我在 src 中创建了这个文件夹结构:assets/media/images/profile.jpg。图像不显示在浏览器中。这就是我正在做的事情。

这是src/components/Hero.js中的组件:

import ImageOne from '../assets/media/images/profile.jpg';

const Hero = () => 
return (
    <div className="bg-white h-screen flex flex-col justify-center items-center">
        <h1 className="lg:text-9xl md:text-7xl sm:text-5xl text-3xl font-black mb-14">
            Text
        </h1>

        <img class="rounded" src=ImageOne alt='Profile'/>
        
    </div>
)


export default Hero

图像根本不显示。这是浏览器正在加载的内容:&lt;img class="rounded" src="/static/media/profile.ba8339ef.jpg" alt="Profile"&gt;

其他 stackoberflow 答案,如 React won't load local images,对我没有帮助。

【问题讨论】:

【参考方案1】:

仔细检查顺风指南中的所有说明,确保将 react-scripts start 替换为 craco start

https://tailwindcss.com/docs/guides/create-react-app

同时,看看这个示例存储库:

https://github.com/oieduardorabelo/2021-03-18-tailwindcss-and-create-react-app

我创建了一个 assets/media/images/profile.jpgsrc/components/Hero.js 与您在此处共享的相同 sn-p,它工作正常?

【讨论】:

我一直在关注本教程,因为我是这些技术的新手:youtube.com/…,我还没有使用过craco start。在 package.json, scripts 中,我的开始是这样的:"start": "npm run watch:css &amp;&amp; react-scripts start",watch 是:"watch:css": "postcss src/assets/tailwind.css -o src/assets/main.css" 实现了你的建议,没有运气。拉了github repo,我发现问题出在我正在导入的实际文件上:)【参考方案2】:

将图片文件夹从 src/assets/media/ 移动到 public/ 并添加:

<img class="rounded" src=process.env.PUBLIC_URL + '/images/profile.jpg' alt='Profile'/>

【讨论】:

不幸的是,这不起作用。这是浏览器加载的&lt;img class="rounded" src="/images/profile.jpg" alt="Profile"&gt;。没有图像仍然显示。 @BogdanAndrei 我不知道 Tailwind,你应该尝试 oieduardobelo 的解决方案,它似乎是正确的。看这里 -> blog.logrocket.com/create-react-app-and-tailwindcss 和 dev.to/shaan71845/…

以上是关于为 ReactJS 应用程序导入图像的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 ReactJS 上传图片

动态导入图像(React Js)(需要 img 路径找不到模块)

在 ReactJs 中基于动态路径加载图像

Reactjs - 路由不适用于导入的组件

如何在 ReactJS 应用程序的服务器端导入模块“child_process”

未捕获的 SyntaxError:意外的令牌导入 - Reactjs