原因分析

报错信息:Reached heap limit Allocation failed - JavaScript heap out of memory

根据翻译报错信息,基本可以判断是node编译时的内存溢出,因为打包文件过大,刚好超过内存的限制大小造成编译中断。

解决方案

方案一

通过设置package.json 中的 build 属性加大内存,在 build属性内加入参数 --max_old_space_size

部分代码块如下:

{
    "name": "admin",
    "private": true,
    "version": "1.0.0",
    "type": "module",
    "scripts": {
        "dev": "vite",
        "build": "vite build --max_old_space_size",
        "preview": "vite preview"
    }
}

方案二

使用 increase-memory-limit 插件,增加node服务器内存限制

# 全局安装increase-memory-limit 插件
npm install -g increase-memory-limit

# 插件安装完成后,在当前项目下运行
increase-memory-limit

安装完成插件,在package.json文件中的属性 scripts添加下面代码,并运行

{
    "name": "admin",
    "private": true,
    "version": "1.0.0",
    "type": "module",
    "scripts": {
        "dev": "vite",
        "build": "vite build --max_old_space_size",
        "preview": "vite preview",
        "limit": "cross-env LIMIT=8192 increase-memory-limit"   //这个就是需要添加的部分
    }
}