如果要增加节点中的内存限制,则要传递的选项为:
node --max-old-space-size=4096 yourFile.js
但在我的场景中我使用的是纱线,我的package.json看起来像这样:
{
"name": "myapp",
"productName": "myapp",
"version": "1.0.0",
"main": "app/main.js",
...
"scripts": {
"package-win": "npm run build && build --win --x64",
"package-mac": "npm run build && build --mac",
...
},
...
我在Windows机器上执行yarn package-win
以调用使用react.js构建的电子应用程序的电子构建器。但我总是npm ERR! code ELIFECYCLE
由于记忆力不足。在我的mac中也遇到FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
错误,但在调用yarn package-mac
时仍然生成了包(如何?我不知道)。
我搜索了很多关于如何使用--max-old-space-size=4096
选项的内容,但我没有发现任何可行的内容。
我试过"package-win": "node --max-old-space-size=4096 npm run build && build --win --x64",
但路径在找到npm时遇到了问题。即使我使用了哪个npm,仍然无法识别which
。
感谢您的帮助。
答案 0 :(得分:1)
回答自己:在package-win
中使用此选项是错误的。当package-win执行构建任务时,则:
"build": "npm run build-main && npm run build-renderer",
...
"build-main": "cross-env NODE_ENV=production node --max_old_space_size=6144 --optimize_for_size --stack_size=6144 --trace-warnings -r babel-register ./node_modules/webpack/bin/webpack --config webpack.config.main.prod.js --progress --profile --colors",
"build-renderer": "cross-env NODE_ENV=production node --max_old_space_size=6144 --optimize_for_size --stack_size=6144 --trace-warnings -r babel-register ./node_modules/webpack/bin/webpack --config webpack.config.renderer.prod.js --progress --profile --colors",
这种方式有效!
答案 1 :(得分:0)
您不必在 package-win 中使用选项。 你应该使用的方式-
"build-ts-prod": "node --max-old-space-size=1024
./node_modules/typescript/bin/tsc --skipLibCheck --diagnostics",