2

当我将字符串传递给计算属性中的文件加载器 require 方法时,它可以正常工作,就像这样

computedProp () {
  return require('../path/to/file');
}

但是如果我尝试将一些变量传递给它,它会抛出错误

computedProp () {
  const l = '../path/to/file';
  return require(l);
}

错误:Error: Cannot find module "."

我该如何解决?我想根据某些条件创建相对路径,然后想将它传递给 require 方法以获取绝对路径。

4

1 回答 1

3

非常相似的答案已发布在 Stack 中:

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

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

因此,为此,您可以测试:

computedProp () {
  const path = '../path/to'
  const file = 'file';
  return require(path + '/' + file);
}

更多信息在这里这里

希望能帮助到你。

于 2017-06-21T13:26:45.053 回答