10

当构建时不知道图像名称时,是否可以使用 parceljs 捆绑器动态加载图像

包裹中是否有类似于 webpack 的require.context的东西

代码片段(使用 React 和 Parcel)这很好用

...
<img src={require('../images/Image4.jpg')}/>
...

但是如果使用表达式,它会抛出“未捕获的错误:找不到模块”

...
var imgName = "Image4";
...
...
<img src={require('../images/' + imgName + '.jpg')}/>
...

图片 - 未捕获的错误:找不到模块

那么,我做错了吗?有没有其他方法可以用包裹做到这一点

4

2 回答 2

9

我认为这目前是不可能的,一种 hacky 方式 iv 解决它,就是这样做:

import icons from './assets/icons/**'

const icon_file_name = 'user'
const specificIcon = icons[`${icon_file_name}.png`]

<img src={specificIcon} />
于 2018-04-19T10:44:06.840 回答
3

基于Luke Robertson的回答尝试了类似的技巧,它对我有用:

import images from '../assets/cover/images/*.jpg';
const file_name = "file-name"
<img src=`${images[file_name]}` />
于 2019-12-20T13:54:39.883 回答