【发布时间】:2020-05-01 12:46:24
【问题描述】:
发生了一些有趣的事情。我添加了一些库(材料 ui),迫使我更新我的 16.3 版本的 react to hooks(16.8),但不幸的是,由于包不支持 react-scripts 2.x,我不得不坚持使用react-scripts: 1.1.0,一切仍然运行良好使用npm run start,但现在当我尝试使用npm run build 构建时,我得到一个UglifyJS 错误:maxium call stack size exceeded。
我尝试删除/重新安装 node_modules,但没有帮助。
我搜索了所有其他主题,不幸的是,它们似乎都与我的情况不符,因为我没有接触过 Babel、webpack 或弹出。
注意:我没有弹出 Create-React-App。
终端错误信息:
Creating an optimized production build...
Failed to compile.
Failed to minify the bundle. Error: static/js/main.5a18352c.js from UglifyJs
RangeError: Maximum call stack size exceeded
at compiler.run (/Users/mike/Documents/Websites/mySite/viewer/node_modules/react-scripts/scripts/build.js:128:23)
at emitRecords.err (/Users/mike/Documents/Websites/mySite/viewer/node_modules/webpack/lib/Compiler.js:269:13)
at Compiler.emitRecords (/Users/mike/Documents/Websites/mySite/viewer/node_modules/webpack/lib/Compiler.js:375:38)
at emitAssets.err (/Users/mike/Documents/Websites/mySite/viewer/node_modules/webpack/lib/Compiler.js:262:10)
at applyPluginsAsyncSeries1.err (/Users/mike/Documents/Websites/mySite/viewer/node_modules/webpack/lib/Compiler.js:368:12)
at next (/Users/mike/Documents/Websites/mySite/viewer/node_modules/tapable/lib/Tapable.js:218:11)
at Compiler.compiler.plugin (/Users/mike/Documents/Websites/mySite/viewer/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:99:4)
at next (/Users/mike/Documents/Websites/mySite/viewer/node_modules/tapable/lib/Tapable.js:220:14)
at /Users/mike/Documents/Websites/mySite/viewer/node_modules/sw-precache-webpack-plugin/lib/index.js:98:18
这是来自 npm run build 的错误日志(我更改了一些敏感信息)
debug.log(npm 运行构建):
0 info it worked if it ends with ok
1 verbose cli [ '/Users/mike/.nvm/versions/node/v10.18.0/bin/node',
1 verbose cli '/Users/mike/.nvm/versions/node/v10.18.0/bin/npm',
1 verbose cli 'run',
1 verbose cli 'build' ]
2 info using npm@6.13.4
3 info using node@v10.18.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle mySite-Web-Application@1.2.10-w~prebuild: mySite-Web-Application@1.2.10-w
6 info lifecycle mySite-Web-Application@1.2.10-w~build: mySite-Web-Application@1.2.10-w
7 verbose lifecycle mySite-Web-Application@1.2.10-w~build: unsafe-perm in lifecycle true
8 verbose lifecycle mySite-Web-Application@1.2.10-w~build: PATH: /Users/mike/.nvm/versions/node/v10.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/mike/Documents/Websites/mySite/viewer/node_modules/.bin:/Users/mike/.nvm/versions/node/v10.18.0/bin:/Users/mike/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mike/.nvm/versions/node/v10.18.0/bin:/Users/mike/google-cloud-sdk/bin
9 verbose lifecycle mySite-Web-Application@1.2.10-w~build: CWD: /Users/mike/Documents/Websites/mySite/viewer
10 silly lifecycle mySite-Web-Application@1.2.10-w~build: Args: [ '-c', 'react-scripts build && rm build/static/js/*.map' ]
11 silly lifecycle mySite-Web-Application@1.2.10-w~build: Returned: code: 1 signal: null
12 info lifecycle mySite-Web-Application@1.2.10-w~build: Failed to exec build script
13 verbose stack Error: mySite-Web-Application@1.2.10-w build: `react-scripts build && rm build/static/js/*.map`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/Users/mike/.nvm/versions/node/v10.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:198:13)
13 verbose stack at ChildProcess.<anonymous> (/Users/mike/.nvm/versions/node/v10.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:198:13)
13 verbose stack at maybeClose (internal/child_process.js:982:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid mySite-Web-Application@1.2.10-w
15 verbose cwd /Users/mike/Documents/Websites/mySite/viewer
16 verbose Darwin 18.2.0
17 verbose argv "/Users/mike/.nvm/versions/node/v10.18.0/bin/node" "/Users/mike/.nvm/versions/node/v10.18.0/bin/npm" "run" "build"
18 verbose node v10.18.0
19 verbose npm v6.13.4
20 error code ELIFECYCLE
21 error errno 1
22 error mySite-Web-Application@1.2.10-w build: `react-scripts build && rm build/static/js/*.map`
22 error Exit status 1
23 error Failed at the mySite-Web-Application@1.2.10-w build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
Package.json:
{
"name": "Mysite-Web-Application",
"version": "1.2.10w",
"private": true,
"homepage": "http://www.mysite.ca/app/",
"dependencies": {
"@material-ui/core": "^4.5.1",
"@material-ui/icons": "^4.5.1",
"@sentry/browser": "^5.7.1",
"bootstrap": "^4.3.1",
"date-fns": "^1.30.1",
"default-passive-events": "^1.0.10",
"dompurify": "^1.0.11",
"exif-js": "^2.3.0",
"firebase": "^7.2.2",
"firebase-auto-ids": "^1.1.0",
"hammer-touchemulator": "0.0.2",
"hammerjs": "^2.0.8",
"install": "^0.11.2",
"konva": "^4.0.16",
"lodash": "^4.17.15",
"moment": "^2.24.0",
"moment-timezone": "^0.5.27",
"normalize.css": "^8.0.1",
"npm": "^6.12.0",
"pdfjs-dist": "^2.2.228",
"prop-types": "^15.7.2",
"react": "^16.8.0",
"react-app-polyfill": "^1.0.4",
"react-beautiful-dnd": "^9.0.2",
"react-collapse": "^5.0.0",
"react-datepicker": "^2.9.6",
"react-dom": "^16.8.0",
"react-image-gallery": "^0.8.18",
"react-konva": "^16.10.1-0",
"react-pdf": "^2.5.3",
"react-responsive-modal": "^3.6.0",
"react-router-dom": "^4.3.1",
"react-router-hash-link": "^1.2.2",
"react-scripts": "1.1.0",
"tesseract.js": "^1.0.19"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build && rm build/static/js/*.map",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"browserslist": {
"production": [
">0.2%",
"not op_mini all"
],
"development": [
"last 2 chrome version",
"last 2 firefox version",
"last 2 safari version"
]
},
"devDependencies": {
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.15.1",
"eslint-plugin-react-hooks": "^2.2.0"
}
}
【问题讨论】:
-
我不知道你是否可以,但我建议你将 react-scripts 更新到最新版本(3.3.0)。可能这会解决您的问题。
-
这确实解决了问题。不幸的是,我将不得不重构很多代码以在某些地方使用新的依赖项。
标签: node.js reactjs create-react-app uglifyjs