将变量传递给require.context?

时间:2017-07-26 13:00:08

标签: javascript webpack webpack-dev-server webpack-2

我要求webpack require.context目录中的所有文件都是这样的:

export default class Svg {
    constructor() {
        const icons = require.context('example/images', true, /\.svg$/);
    }
}

这项工作正常,但我想传递一个路径到我的构造函数,并设置require.context路径,如果给定构造函数值,或者如果没有给出,则设置为默认值。

使用这样的变量会导致错误:

const icons = require.context(path, true, /\.svg$/);
  警告在./src/Svg.js中   11:20-27关键依赖:要求函数以某种方式使用   哪些依赖项无法静态提取

有没有办法解决这个问题,或者我只是滥用了require.context功能?

1 个答案:

答案 0 :(得分:1)

不幸的是,您不能这样做,因为它必须是可以静态分析的。

阅读webpack issue #4772

现在,Webpack的版本为4,这可能会在将来的版本中更改。