Vuejs:找不到模块"。"

时间:2017-06-21 10:15:36

标签: webpack vuejs2 webpack-file-loader

当我在计算属性中将字符串传递给file-loader require方法时,它可以正常工作,就像这样

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

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

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

错误:Error: Cannot find module "."

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

1 个答案:

答案 0 :(得分:2)

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

  

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

Using require('...') with a variable vs. using a string in webpack

所以,为了工作,你可以测试:

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

更多信息HereHere

希望它有所帮助。