【发布时间】:2021-01-29 16:29:36
【问题描述】:
我是 React 新手,如果有人可以提供帮助,我将不胜感激......
我使用“create-react-app”设置环境,所有图像文件都在src文件夹下的img文件夹中。组件之一动态设置背景图像。
这很好用:
<div style={{ background: `url(${require("../img/file-name.jpg")}) no-repeat`}}/>
但是,当我尝试使用变量作为文件名时(如下所示),我收到错误:错误:找不到模块'../img/file-name.jpg'强>
let imageUrl = '../img/' + filenames[0];
...
<div style={{ background: `url(${require(imageUrl)}) no-repeat`}}/>
我也尝试过类似下面的测试,但我得到了同样的错误。
let imageUrl = '../img/file-name.jpg';
...
<div style={{ background: `url(${require(imageUrl)}) no-repeat`}}/>
如果有人可以提供帮助,我将不胜感激!谢谢!
【问题讨论】:
-
这是因为 require 使用路径,当你分隔路径时, required 会读取该值,但它会将其视为字符串并将 .. 或 ./ 作为字符串字符而不是路径分隔符。