执行npm run build时出现HookWebpackError错误,求解决方案
执行
npm run build时HookWebpackError报错的排查与解决 报错详情
执行npm run build时出现以下编译失败错误:
Creating an optimized production build... Failed to compile. HookWebpackError: Cannot read properties of undefined (reading 'e') -- inner error -- TypeError: Cannot read properties of undefined (reading 'e') Generated code for C:\Users\Gerso\OneDrive\Documentos\React JS\home\node_modules\css-loader\dist\cjs.js??ruleSet[1].rules[1].oneOf[5].use[1]!C:\Users\Gerso\OneDrive\Documentos\React JS\home\node_modules\postcss-loader\dist\cjs.js??ruleSet[1].rules[1].oneOf[5].use[2]!C:\Users\Gerso\OneDrive\Documentos\React JS\home\node_modules\source-map-loader\dist\cjs.js!C:\Users\Gerso\OneDrive\Documentos\React JS\home\src\index.css 1 | __webpack_require__.r(__webpack_exports__); 2 | /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("C:\\Users\\Gerso\\OneDrive\\Documentos\\React JS\\home\\node_modules\\babel-loader\\lib\\index.js??ruleSet[1].rules[1].oneOf[4]!C:\\Users\\Gerso\\OneDrive\\Documentos\\React JS\\home\\node_modules\\source-map-loader\\dist\\cjs.js!C:\\Users\\Gerso\\OneDrive\\Documentos\\React JS\\home\\node_modules\\css-loader\\dist\\runtime\\sourceMaps.js"); 3 | /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); 4 | /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("C:\\Users\\Gerso\\OneDrive\\Documentos\\React JS\\home\\node_modules\\babel-loader\\lib\\index.js??ruleSet[1].rules[1].oneOf[4]!C:\\Users\\Gerso\\OneDrive\\Documentos\\React JS\\home\\node_modules\\source-map-loader\\dist\\cjs.js!C:\\Users\\Gerso\\OneDrive\\Documentos\\React JS\\home\\node_modules\\css-loader\\dist\\runtime\\api.js"); 5 | /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); 6 | // Imports 7 | 8 | 9 | var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); 10 | // Module 11 | ___CSS_LOADER_EXPORT___.push([module.id, ".font-msg {\r\n font-family: 'Hanalei Fill', cursive;\r\n border: 100px;\r\n}\r\n\r\n.skillHover:hover{\r\n background-color: #ebebeb !important;\r\n border-left: 10px solid midnightblue !important;\r\n border-radius: 0% !important;\r\n box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.1) 0px 8px 24px, rgba(17, 17, 26, 0.1) 0px 16px 56px;\r\n}\r\n\r\n.textSkill{\r\n color: rgb(124, 124, 124);\r\n font-size: 1rem;\r\n}\r\n\r\n.contact{\r\n margin: auto !important;\r\n background-color: #ebebeb !important;\r\n background:'#f1f1f1' !important;\r\n border-radius:'10px' !important;\r\n}\r\n\r\n.text404{\r\n color: midnightblue !important;;\r\n}\r\n\r\n@media (max-width: 700px){\r\n .image{\r\n height: auto !important;\r\n }\r\n\r\n .logobrain{\r\n height: 40vh !important;\r\n width: 40vh !important;\r\n }\r\n} ", "",{"version":3,"sources":["webpack://./src/index.css"],"names":[],"mappings":"AAAA;EACE,oCAAoC;EACpC,aAAa;AACf;;AAEA;EACE,oCAAoC;EACpC,+CAA+C;EAC/C,4BAA4B;EAC5B,uHAAuH;AACzH;;AAEA;EACE,yBAAyB;EACzB,eAAe;AACjB;;AAEA;EACE,uBAAuB;EACvB,oCAAoC;EACpC,+BAA+B;EAC/B,gCAAgC;AAClC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE;IACE,uBAAuB;EACzB;;EAEA;IACE,uBAAuB;IACvB,sBAAsB;EACxB;AACF","sourcesContent":[".font-msg {\r\n font-family: 'Hanalei Fill', cursive;\r\n border: 100px;\r\n}\r\n\r\n.skillHover:hover{\r\n background-color: #ebebeb !important;\r\n border-left: 10px solid midnightblue !important;\r\n border-radius: 0% !important;\r\n box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.1) 0px 8px 24px, rgba(17, 17, 26, 0.1) 0px 16px 56px;\r\n}\r\n\r\n.textSkill{\r\n color: rgb(124, 124, 124);\r\n font-size: 1rem;\r\n}\r\n\r\n.contact{\r\n margin: auto !important;\r\n background-color: #ebebeb !important;\r\n background:'#f1f1f1' !important;\r\n border-radius:'10px' !important;\r\n}\r\n\r\n.text404{\r\n color: midnightblue !important;;\r\n}\r\n\r\n@media (max-width: 700px){\r\n .image{\r\n height: auto !important;\r\n }\r\n\r\n.logobrain{\r\n height: 40vh !important;\r\n width: 40vh !important;\r\n }\r\n} "],"sourceRoot":""}]); 12 | // Exports 13 | ___CSS_LOADER_EXPORT___.locals = {}; 14 | /* harmony default export */ __webpack_exports__.d.e.f.a.u.l.t = (___CSS_LOADER_EXPORT___); 15 |
项目依赖配置
"dependencies": { "@emotion/react": "^11.6.0", "@emotion/styled": "^11.6.0", "@fontsource/roboto": "^4.5.1", "@material-ui/core": "^4.12.3", "@material-ui/icons": "^4.11.2", "@mui/material": "^5.1.1", "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^11.2.7", "@testing-library/user-event": "^12.8.3", "react": "^17.0.2", "react-dom": "^17.0.2", "react-responsive-image": "^5.0.0", "react-router-dom": "^5.3.0", "react-scripts": "^5.0.1", "react-tooltip": "^4.2.21", "responsive-img-material-ui": "^2.2.0", "web-vitals": "^1.1.2" },
已尝试操作
- 删除
node_modules和package-lock.json后重新安装依赖,问题未解决
原因分析
- CSS语法错误:报错指向
src/index.css,其中存在两处语法问题:.contact类中使用单引号包裹属性值(background:'#f1f1f1'、border-radius:'10px'),生产构建的CSS解析器对这类语法兼容性差;.text404类中存在多余分号(color: midnightblue !important;;),属于无效CSS语法,触发解析异常。
- 依赖版本冲突:项目同时安装了
@material-ui/core(v4)和@mui/material(v5),二者为同一UI库的不同大版本,会干扰webpack样式loader的正常工作流程。
解决方案
1. 修复CSS语法错误
修改src/index.css中的错误代码:
/* 修复.contact类的属性值引号问题 */ .contact{ margin: auto !important; background-color: #ebebeb !important; background: #f1f1f1 !important; border-radius: 10px !important; } /* 移除.text404类的多余分号 */ .text404{ color: midnightblue !important; }
2. 清理冲突依赖
卸载v4版本的Material-UI依赖,避免与v5版本冲突:
npm uninstall @material-ui/core @material-ui/icons
重新安装依赖:
npm install
3. 重新执行构建
npm run build
内容的提问来源于stack exchange,提问作者Jhon Estrada
相关产品推荐
相关产品推荐

