【发布时间】:2020-05-31 03:15:40
【问题描述】:
我在 Javascript 中遇到了一些非常奇怪的东西,我无法解释。简而言之,我在 React 中构建了一个动态 Button 组件,其中可以选择传入图标文件的路径。
这种方法效果很好:
const image = require('../styling/assets/images/search-icon.svg');
<button className='button' onClick={props.handleButtonClick}>
<img className='button-icon' src={image} />
<p>{props.label}</p>
</button>
但是如果我把第一行改成这两行就会失败:
const path = '../styling/assets/images/search-icon.svg';
const image = require(path);
在第二种情况下,我收到此错误:Error: Cannot find module '../styling/assets/images/search-icon.svg'
从根本上说,这两种方法对我来说似乎是等价的,但显然不是。
为什么第二种方法会失败?
【问题讨论】: