我编写了一个使用require()加载文件的函数:

function loadFromName(name) {
  const filename = `./${name}.initialState`;
  return require(filename).default;
}


当我调用此方法时,它将找不到文件:

loadFromName('tab')

> Requiring unknown module "./tab.initialState". If you are sure the module is there, try restarting the packager or running "npm install".


我尝试了两种内联require()。一是成功;二是成功。一个失败了。

let initialState;
const name = 'tab';
initialState = require('./tab.initialState');   // success
const filename = './' + 'tab' + '.initialState';
initialState = require(filename);               // failed


为什么以及如何解决?

注意:我在React-Native开发中使用它

最佳答案

React native不支持动态需求。堆栈溢出React Native - Image Require Module using Dynamic Names上有很多类似的问题

10-07 17:37