【发布时间】:2021-04-14 20:08:42
【问题描述】:
在使用 Create React App 引导的项目中,在我的 public 文件夹中,我有一个 assets 文件夹,其中包含文件 logo512.jpg。
当我在这样的组件中引用文件时
<div>
<img src='/assets/logo512.jpg'/>
</div>
我一切正常。但是,当我在 CSS 文件中为同一个组件引用同一个文件时,如下所示:
background {
background-image: url('assets/logo512.jpg');
}
然后报错Can't resolve '/assets/logo512.jpg' in DIRECTORY_OF_COMPONENT/assets/logo512.jpg
请注意,DIRECTORY_OF_COMPONENT 不是公用文件夹,而是 CSS 文件所在的文件夹。如何使 url 引用公用文件夹?
以下是完整代码以及我的文件结构:
// HomePage.js
import React from 'react';
import 'tachyons';
import './HomePage.css';
function HomePage() {
return (
<div className="background tc">
<div>
<img src='/assets/logo512.jpg'/> //this works
</div>
</div>
);
}
export default HomePage;
// HomePage.css
.background {
height: 100%;
display: flex;
align-content: center;
justify-content: center;
background: url('/assets/logo512.jpg'); //this does not work
}
【问题讨论】:
-
你可以试试我的回答,我已经详细提到了如何做到这一点:) 如果你仍然有问题我想检查你的文件夹结构
标签: javascript css reactjs create-react-app