zoukankan      html  css  js  c++  java
  • Webpack打包报"JavaScript heap out of memory"错误

    问题

    开发项目有一段时间了,随着项目越来越大,打包的时间也相应的变长了,打包时的内存也增多了。这时候产生了一个问题,在发布项目的时候,会出现JavaScript heap out of memory错误的提示。
    如下图:

    以上错误一直导致,无法发布项目。
    详细错误内容:CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

    原因

    Node中通过JavaScript使用内存时只能使用部分内存(64位系统:1.4 GB,32位系统:0.7 GB),这个时候,如果前端项目非常的庞大,Webpack编译时就会占用很多的系统资源,如果超出了V8引擎对Node默认的内存限制大小时,就会产生内存泄露(JavaScript heap out of memory)的错误。

    解决方案

    既然V8引擎有对Node进行默认的内存限制大小,那么在Node内存不足的时候,可以放宽内存大小的使用限制,可以在Node启动的时候,传递--max-old-space-size--max-new-space-size来调整内存大小的使用限制。
    但是这种方式需要所有地方都要进行设置,因此需要安装一个插件increase-memory-limit

    使用方式如下:

    • 安装
      npm install -g increase-memory-limit
    • 运行
      increase-memory-limit
    • npm 异步运行
    "scripts": {
        "fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit"
      },
      "devDependencies": {
        "increase-memory-limit": "^1.0.3",
        "cross-env": "^5.0.5"
      }

    执行一次npm run fix-memory-limit

  • 相关阅读:
    A1052. Linked List Sorting (25)
    A1032. Sharing (25)
    A1022. Digital Library (30)
    A1071. Speech Patterns (25)
    A1054. The Dominant Color (20)
    A1060. Are They Equal (25)
    A1063. Set Similarity (25)
    电子码表
    矩阵键盘
    对象追踪、临时对象追踪、绝对坐标与相对坐标
  • 原文地址:https://www.cnblogs.com/techliang666/p/11506352.html
Copyright © 2011-2022 走看看