node.js - 致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 在生产中堆内存不足
问题描述
从上周开始,我大部分时间都在生产中FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
。
我试图增加 HEAP 的大小,但没有奏效。由于它发生在生产中,因此无法继续使用它,因此它下降了一段时间。我在 Laravel 应用程序中使用 Vuejs 和 .less。
我在 package.json 中的脚本如下所示:
"scripts": {
"start": "npm run watch",
"dev": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --watch-poll --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
NPM 版本是4.6.1
NODE 版本是8.16
我在开发中没有遇到这个错误,但我尝试了一些开发和生产中的解决方案。
我尝试添加一个 npm 包
`npm install -g increase-memory-limit`
接着
`increase-memory-limit`
但是当我执行npm run dev
or时npm run watch
,模块没有编译。这个过程卡住了很长时间,什么也没发生。
我也尝试在生产中添加以下脚本:
"scripts": {
"fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit"
},
"devDependencies": {
"increase-memory-limit": "^1.0.3",
"cross-env": "^5.0.5"
}
但它也没有奏效。包坏了,最后不得不删除代码。
我还尝试在开发中使用以下脚本:
"dev": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
我没有收到任何错误,但我不确定它是否会在生产中工作。这是正确的做法吗?
或类似的东西:
npm run dev NODE_OPTIONS="--max-old-space-size=4096"
在生产中不能采取更多的机会,已经有 2、3 次失败。
有人可以建议一个更好的方法,我如何检查 HEAP 大小是否增加。
解决方案
我有同样的问题,我解决了,必须<div>
在<template>
vue 文件中
推荐阅读
- reactjs - 从网络预览/响应 Mapbox-gl 中检索数据
- groovy - 查找所有或收集 groovy JSON 解析器
- javascript - 如何将 JavaScript 变量传递给 PHP 文件
- python - Python用字符串替换列表中的空列表以避免IndexError:列表索引超出范围
- c# - 尝试让 DHL 接口运行时出现身份验证错误
- c# - 为什么 DeviceInformation.Name 不显示正确的名称
- xamarin - 我应该使用依赖注入将带有常量的类引入我的 Xamarin Forms 应用程序还是有更好的方法?
- angular - Fullcalendar 自定义视图“垂直资源视图”无法正常工作
- angular - 将测试构建输出到 dist
- python - 特征是否必须是浮点数才能通过决策树进行多类分类?