javascript - 将 require ('...' ) 与变量一起使用与在 webpack 中使用字符串

标签 javascript webpack

我有一个对我来说意义不大的问题。

我正在映射一组具有“名称”和“href”属性的对象。

let appleIcons = _.map(appleIcons, appleIcon => {
  appleIcon.href = require(appleIcon.href);
  return appleIcon;
}); 

在循环内部,我想要获取图像,但它抛出错误“.*$:11 未捕获错误:找不到模块”。

当我打印 appleIcon.href 的值并尝试将它直接放入 require('') 时,它起作用了。

appleIcons = _.map(appleIcons, appleIcon => {
  appleIcon.href = require('./../../mobile-config/apple-icon-57x57.png');
  return appleIcon;
});

那么您能解释一下为什么第二个示例有效而第一个示例抛出错误吗?我如何将变量放入 require('') 中?

谢谢!

最佳答案

由于 Webpack 在构建时运行,当名称是动态变量时,它无法确定要捆绑哪些模块。您可以通过指定部分路径来给它提示(例如,如果您知道所有模块都在一个目录中)。

这个答案可以帮助: https://stackoverflow.com/a/33048000

(也可以通过 Webpack 检查 require.context。另一个例子是业力测试,here。)

或者 - 如果您预先知道文件名,最好添加另一个构建步骤以将它们输出到文件中,这样 Webpack 就可以捆绑它们。

关于javascript - 将 require ('...' ) 与变量一起使用与在 webpack 中使用字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37241662/

相关文章:

javascript - Bootstrap 嵌套可折叠面板

javascript - 数组中的平方值 (JavaScript) 加上浮点错误

python - 如何通过Passenger/Nginx在Digital Ocean上部署Django/React/Webpack应用

javascript - 如何解决 ChunkLoadError : Loading hot update chunk second_app failed in webpack 5?

javascript - 如何加载要褪色的图像数组?

javascript - 带有数值的 Switch 语句

javascript - 如何在文件加载器中使用 webb 图像

node.js - 在 Google Cloud App Engine 中安装开发依赖项

reactjs - 使用静态关键字的合适的 webpack 加载器是什么?

javascript - Materialise 下拉菜单在移动设备中禁用 Sly jQuery 滚动条