node.js - webpack 在编译时内存不足
问题描述
嗨,我尝试使用 webpack 和以下命令编译我的 react-js 应用程序:
“node_modules/.bin/cross-env NODE_ENV=生产 webpack -p --config webpack.config.js”
所以它试图缩小节点模块的东西。
我收到了这个错误:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
有没有办法分配更多的内存?我有 32GB 应该不是问题
谢谢
解决方案
您的v8
系统设置了堆限制,您可以使用repl中的v8.getHeapStatisticsnode
发现。
最有可能您正在超越heap_limit_size
为进程增加允许的内存的一种方法是--max_old_space_size
在调用它时将额外的 V8 标志附加到您的节点,以便它将标志向下传递给 V8 并增加内存分配池的大小。该值应以兆字节为单位。
可以这样:
node_modules/.bin/cross-env NODE_ENV=production node --max_old_space_size=8096 node_modules/.bin/webpack -p --config webpack.config.js
您可以在本地开发环境中使用更高的内存值进行试验,但始终仔细检查该值对生产环境的可能影响,您可以在单独的npm
脚本中配置单独的内存值。
推荐阅读
- amazon-web-services - 使用 react-native 和 amazon pinpoint 以编程方式发送推送通知?
- r - 使用自定义字典模糊匹配和替换数据框中的字符串
- android - Flutter:如何使用 fcm 以编程方式发送推送通知
- ios - 如何快速在类之间发送数据?
- ios - 在 Swift 中对图像进行分类时使用 completionHandler 返回打印
- go - revel flash 消息不显示
- html - 如何在 Foundation Float 网格中的列之间添加填充?
- javascript - 如何根据调色板的选择改变图像的颜色
- java - 正则表达式查找网页中是否有过时的内容
- java - JavaFX 11 部署失败:无法创建任务或键入 javafx:com.sun.javafx.tools.ant:fileset