如何解决[错误]类型错误:dep.getModuleEvaluationSideEffectsState不是函数?

2 javascript reactjs docusaurus github-actions

我创建了一个 docusaurus 项目。一切正常。我在登陆页面添加了材质 ui 搜索栏。我正在使用 github actions 来部署项目(CI/CD)。现在,当我推送代码时,我收到此错误。

[ERROR] TypeError: dep.getModuleEvaluationSideEffectsState is not a function
    at NormalModule.getSideEffectsConnectionState (/github/workspace/website/node_modules/webpack/lib/NormalModule.js:1126:23)
    at /github/workspace/website/node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js:244:19
    at Hook.eval [as call] (eval at create (/github/workspace/website/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:12:16)
    at Hook.CALL_DELEGATE [as _call] (/github/workspace/website/node_modules/tapable/lib/Hook.js:14:14)
    at Compilation.seal (/github/workspace/website/node_modules/webpack/lib/Compilation.js:2804:42)
    at /github/workspace/website/node_modules/webpack/lib/Compiler.js:1187:20
    at /github/workspace/website/node_modules/webpack/lib/Compilation.js:2757:4
    at _next2 (eval at create (/github/workspace/website/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:35:1)
    at eval (eval at create (/github/workspace/website/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:71:1)
    at /github/workspace/website/node_modules/webpack/lib/FlagDependencyExportsPlugin.js:385:11
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题。我还附加了 package.json 文件。

[ERROR] TypeError: dep.getModuleEvaluationSideEffectsState is not a function
    at NormalModule.getSideEffectsConnectionState (/github/workspace/website/node_modules/webpack/lib/NormalModule.js:1126:23)
    at /github/workspace/website/node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js:244:19
    at Hook.eval [as call] (eval at create (/github/workspace/website/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:12:16)
    at Hook.CALL_DELEGATE [as _call] (/github/workspace/website/node_modules/tapable/lib/Hook.js:14:14)
    at Compilation.seal (/github/workspace/website/node_modules/webpack/lib/Compilation.js:2804:42)
    at /github/workspace/website/node_modules/webpack/lib/Compiler.js:1187:20
    at /github/workspace/website/node_modules/webpack/lib/Compilation.js:2757:4
    at _next2 (eval at create (/github/workspace/website/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:35:1)
    at eval (eval at create (/github/workspace/website/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:71:1)
    at /github/workspace/website/node_modules/webpack/lib/FlagDependencyExportsPlugin.js:385:11
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗?

Sté*_*ira 7

你在使用插件docusaurus2-dotenv吗?

我们在这里发现了同样的问题,根本原因是这个插件。我们从 package.json 和 docusaurus.config.js 中删除此插件。我们将其替换为docusaurus.config.js插件docusaurus-plugin-dotenv,如下所示:

// Before
plugins: 
[
    // Other plugins
    ['docusaurus2-dotenv', { systemvars: true }],
]
Run Code Online (Sandbox Code Playgroud)
// After
plugins: 
[
    // Other plugins
    [
      'docusaurus-plugin-dotenv',
      {
          path: "./.env", 
          systemvars: true, 
      }
    ]
]
Run Code Online (Sandbox Code Playgroud)

发生此错误的原因是插件“docusaurus2-dotenv”已弃用,尽管 docusaurus 文档本身建议使用它。

将其从我们的项目中删除后,我们注意到甚至一些漏洞也消失了。

这是新插件的链接:docusaurus-plugin-dotenv