【发布时间】:2018-12-24 12:36:23
【问题描述】:
我正在使用 React 和 Node.js,我正在尝试使用存储为 prop 的 src 属性来渲染图像。但是,每当我尝试向require() 提供存储为变量的路径时,它都会给我此错误:找不到模块“。”
所以我想知道为什么 require 不能处理指向路径但可以处理路径本身的变量?比如这会导致上面提到的错误:
<MyComponent imageSrc='./image.jpg'/>
...
<img src={require(this.props.imageSrc)}/>
但这将完美地工作:
<img src={require('./image.jpg')}/>
【问题讨论】:
-
console.log(this.props.imageSrc)的输出是什么? -
Require 要求文件是带有 module.exports 的节点文件。图像没有,因为它是 JPG 文件。但是,如果图像在您的公共目录中,则不需要要求图像才能显示它。
-
你为什么不这样使用它:
<MyComponent imageSrc={require("./image.jpg")} />然后<img src={this.props.imageSrc) />正如@RyanZ 解释的那样,实际上你不需要这里的图像。 -
@devserkan,谢谢。那行得通。
-
不客气。然后我会将此评论转换为您正在寻找的答案。