require(variable) 导致错误 Cannot find module "."
require(variable) causes the error Cannot find module "."
我正在使用 React 和 Node.js 并且我正在尝试使用存储为 prop 的 src 属性渲染图像。但是每当我尝试向 require()
提供一个存储为变量的路径时,它都会给我 这个错误:找不到模块“。”
所以我想知道为什么 require 不能处理指向路径但可以处理路径本身的变量?比如这样会导致上面提到的错误:
<MyComponent imageSrc='./image.jpg'/>
...
<img src={require(this.props.imageSrc)}/>
但这将完美地工作:
<img src={require('./image.jpg')}/>
正如评论中所解释的,实际上您不需要在此处要求任何图像。您可以在 src 目录中使用相对路径。但是,对于您的情况,这将起作用:
将 prop 传递给组件时使用 require:
<MyComponent imageSrc={require("./image.jpg")} />
然后像这样使用这个道具:
<img src={this.props.imageSrc} />
我最近学到的另一种解决方案:
<img src={require( "" + this.props.imageSrc) } />
我正在使用 React 和 Node.js 并且我正在尝试使用存储为 prop 的 src 属性渲染图像。但是每当我尝试向 require()
提供一个存储为变量的路径时,它都会给我 这个错误:找不到模块“。”
所以我想知道为什么 require 不能处理指向路径但可以处理路径本身的变量?比如这样会导致上面提到的错误:
<MyComponent imageSrc='./image.jpg'/>
...
<img src={require(this.props.imageSrc)}/>
但这将完美地工作:
<img src={require('./image.jpg')}/>
正如评论中所解释的,实际上您不需要在此处要求任何图像。您可以在 src 目录中使用相对路径。但是,对于您的情况,这将起作用:
将 prop 传递给组件时使用 require:
<MyComponent imageSrc={require("./image.jpg")} />
然后像这样使用这个道具:
<img src={this.props.imageSrc} />
我最近学到的另一种解决方案:
<img src={require( "" + this.props.imageSrc) } />