VuePress 文章过多时打包报错

博客文章较多,使用 VuePress 的 npm run docs:build 命令打包时,报了 OOM 的错误。

调查了一下,可通过安装 increase-memory-limit 工具来增大内存限制。

  1. 全局安装 increase-memory-limit

    npm install -g increase-memory-limit
      
  2. package.jsonscripts 配置中添加如下内容

    "fix-memory-limit": "cross-env LIMIT=8192 increase-memory-limit"
      
  3. 运行该脚本以增加内存(只需要执行一次)

    npm run fix-memory-limit
      

    本地执行该脚本时报了如下错误:

    '"node --max-old-space-size=8192"' 不是内部或外部命令,也不是可运行的程序或批处理文件。
      

    可通过如下方式解决:1

    • 在项目的 node_modules/.bin 文件下找到所有后缀是 .cmd 的文件 *.cmd 文件, "%_prog%" 去掉 双引号 %_prog%

    • 保存再次重新运行 npm run docs:build 命令。