开发者问题收集

未捕获的类型错误:__webpack_require__(...).context 不是一个函数

2022-08-02
1634

当我尝试使用此代码动态导入 xml 文件时:

const path = require.context(`../report/${runId}/`, false, /\.xml$/);

我收到此错误:

Uncaught (in promise) TypeError: __webpack_require__(...).context is not a function
    at fetchData (xmlparser.js:28:1)
    at Run.getTests (Run.js:16:1)
    at Run.componentDidMount (Run.js:10:1)
    at commitLayoutEffectOnFiber (react-dom.development.js:23305:1)
    at commitLayoutMountEffects_complete (react-dom.development.js:24688:1)
    at commitLayoutEffects_begin (react-dom.development.js:24674:1)
    at commitLayoutEffects (react-dom.development.js:24612:1)
    at commitRootImpl (react-dom.development.js:26823:1)
    at commitRoot (react-dom.development.js:26682:1)
    at performSyncWorkOnRoot (react-dom.development.js:26117:1)

但是,当我按如下方式导入 XML 文件时,它就可以正常工作:

const path = require.context(`../report/1/`, false, /\.xml$/);

注意 - runId 声明为 1,因此它不是未定义的

1个回答

--编辑
我的答案是错误的。 stackoverflow.com/questions/54059179/what-is-require-context require.context 在编译时进行评估,因此您必须传递静态字符串,而不是变量或动态连接,在运行时进行评估。这就是第二个示例有效的原因。

Michele Viviani
2022-08-02