未捕获的TypeError:__webpack_require __(…).context不是函数

时间:2019-06-18 08:30:43

标签: webpack webpack-4

当我尝试使用以下代码动态导入vue组件时:

const组件= require.context('./',true,'/^index.js$/'); 我收到此错误:

    at Module../asset/app.js (app.js:9)
    at __webpack_require__ (bootstrap:782)
    at fn (bootstrap:150)
    at Object.0 (app.293d5fe1d8a073fed37a.bundle.js:1747)
    at __webpack_require__ (bootstrap:782)
    at checkDeferredModules (bootstrap:45)
    at bootstrap:858
    at bootstrap:858```

Why is that? How to fix that? What have I missed?

2 个答案:

答案 0 :(得分:1)

尝试将第三个参数从字符串更改为正则表达式,即:

const components = require.context('./', true, /^index.js$/)

我经常使用正则表达式,而我正在尝试使用其他正则表达式,而不使用像这样的内联正则表达式。

旁注:您要查找从'./'向下的所有内容(递归:您将该标志设置为true),但仅接受一个文件:index.js基本文件夹。如果仅此而已,建议您将递归标志更改为false,这样会更快。

答案 1 :(得分:0)

doc link

文档中有一个句子 The arguments passed to require.context must be literals。 第三个参数应该是像 /^index.js$/ 这样的文字。我在使用 new RegExp()

时遇到了同样的错误