Как решить [ОШИБКА] TypeError: dep.getModuleEvaluationSideEffectsState не является функцией?

Я создал проект docusaurus. Он работал нормально. Я добавил панель поиска пользовательского интерфейса материала на целевой странице. Я использую действия github для развертывания проекта (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

Я не уверен, как решить эту проблему. Я также прикрепил файл package.json.

{
  "scripts": {
    "examples": "docusaurus-examples",
    "start": "docusaurus start",
    "build": "docusaurus build",
    "serve": "docusaurus serve",
    "publish-gh-pages": "docusaurus-publish",
    "write-translations": "docusaurus-write-translations",
    "version": "docusaurus-version",
    "rename-version": "docusaurus-rename-version",
    "swizzle": "docusaurus swizzle",
    "deploy": "docusaurus deploy",
    "docusaurus": "docusaurus"
  },
  "engines": {
    "node": ">=16.14.0"
  },
  "dependencies": {
    "@azure/msal-browser": "^2.28.0",
    "@azure/msal-react": "^1.4.4",
    "@docusaurus/core": "^2.0.0-rc.1",
    "@docusaurus/plugin-client-redirects": "^2.1.0",
    "@docusaurus/plugin-content-docs": "^2.0.0-rc.1",
    "@docusaurus/preset-classic": "^2.0.0-rc.1",
    "@emotion/react": "^11.10.4",
    "@emotion/styled": "^11.10.4",
    "@fortawesome/react-fontawesome": "^0.1.18",
    "@material-ui/core": "^4.12.4",
    "@mui/material": "^5.10.8",
    "axios": "^0.27.2",
    "bootstrap": "^5.1.3",
    "chart.js": "^3.8.0",
    "clsx": "^1.1.1",
    "docker": "^1.0.0",
    "docusaurus": "^1.14.7",
    "docusaurus-lunr-search": "^2.1.15",
    "docusaurus-pdf": "^1.2.0",
    "docusaurus2-dotenv": "^1.4.0",
    "env-cmd": "^10.1.0",
    "jquery": "^3.6.0",
    "moment": "^2.29.4",
    "react": "^17.0.2",
    "react-bootstrap": "^2.4.0",
    "react-chartjs-2": "^4.3.1",
    "react-dom": "^17.0.2",
    "react-icons": "^4.4.0",
    "react-markdown-editor-lite": "^1.3.2",
    "react-paginate": "^8.1.3",
    "react-player": "^2.10.1",
    "react-scripts": "^5.0.1"
  }
}

Может кто-то помочь мне с этим?

🤔 А знаете ли вы, что...
JavaScript можно использовать для создания видеоигр, как 2D, так и 3D, с использованием библиотеки Three.js.


161
1

Ответ:

Решено

Вы используете плагин docusaurus2-dotenv?

Мы обнаружили ту же проблему здесь, и основной причиной является этот плагин. Мы удаляем этот плагин из package.json и из docusaurus.config.js. Мы заменили его внутри docusaurus.config.js на плагин docusaurus-plugin-dotenv, вот так:

// Before
plugins: 
[
    // Other plugins
    ['docusaurus2-dotenv', { systemvars: true }],
]
// After
plugins: 
[
    // Other plugins
    [
      'docusaurus-plugin-dotenv',
      {
          path: "./.env", 
          systemvars: true, 
      }
    ]
]

Эта ошибка возникает из-за того, что плагин docusaurus2-dotenv устарел, хотя сама документация docusaurus рекомендует его использовать.

Удалив его из нашего проекта, мы заметили, что даже некоторые уязвимости ушли.

Вот ссылка на новый плагин: docusaurus-plugin-dotenv