美文网首页
ionic3 - 打包时加"--prod"参数导致内存溢出

ionic3 - 打包时加"--prod"参数导致内存溢出

作者: JoyoDuan | 来源:发表于2019-03-29 16:01 被阅读0次

    说明

    打包的时候报了内存溢出的错误(不加prod的时候不会内存溢出)

    FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
    

    解决方法

    node v8.0+:

    windows:

    set NODE_OPTIONS=--max_old_space_size=8192
    

    mac:

    export NODE_OPTIONS=--max_old_space_size=8192
    

    终极解决方法(推荐):

    increase-memory-limit

    1. 全局安装increase-memory-limit

    安装命令:npm install -g increase-memory-limit

    全局安装increase-memory-limit.png
    1. 在项目根目录执行increase-memory-limit命令

    该命令会在node_modules/.bin/目录下所有的文件中加入--max-old-space-size=4096,即可解决

    项目根目录执行increase-memory-limit.png

    方法一:

    通过修改ng.cmdngc.cmd两个文件中添加--max-old-space-size解决

    1. 修改node_modules/.bin下的ng.cmd
    @IF EXIST "%~dp0\node.exe" (
      "%~dp0\node.exe"  "%~dp0\..\@angular\cli\bin\ng" %*
    ) ELSE (
      @SETLOCAL
      @SET PATHEXT=%PATHEXT:;.JS;=;%
      node  --max-old-space-size=8192  "%~dp0\..\@angular\cli\bin\ng" %*
    )
    
    修改ng.cmd.png
    1. 修改node_modules/.bin下的ngc.cmd
    @IF EXIST "%~dp0\node.exe" (
      "%~dp0\node.exe"  "%~dp0\..\@angular\compiler-cli\src\main.js" %*
    ) ELSE (
      @SETLOCAL
      @SET PATHEXT=%PATHEXT:;.JS;=;%
      node  --max-old-space-size=8192  "%~dp0\..\@angular\compiler-cli\src\main.js" %*
    )
    
    修改ngc.cmd.png

    方法二:

    修改package.json文件

    1. package.json文件scripts中添加命令:
    "prod": "node --max-old-space-size=8192 node_modules\\@angular\\cli\\bin\\ng build --prod"
    
    修改package.json.png
    1. 使用命令npm run prod打包

    Ps: 这里npm run prod相当于--prod

    相关文章

      网友评论

          本文标题:ionic3 - 打包时加"--prod"参数导致内存溢出

          本文链接:https://www.haomeiwen.com/subject/uavlbqtx.html