根据jeecgboot vue3的文档,把本地node升级到16,在本地运行都正常,打包后一直提示内存不足。
首先怀疑是代码配置问题,找到提示对应的地方,修改了package.json,把默认的NODE_OPTIONS=--max-old-space-size=8192改成10240,然后依旧报错。
怀疑是hbuilderx的运行内存不足,把node启动参数也改成10240了,依旧报错。
然后网上还有种说法是hbuilderx自带的node版本不够导致的,于是卸载了hbuilderx,换成最新版本,发现她自带的node已经是16版本了,这回总该够了吧,结果已经无用。
继续百度,说要安装increase-memory-limit用来提高运行时的内存限制,于是又安装了increase-memory-limit,还把increase-memory-limit命令加到打包脚本里面去,这回打包倒是没报错,并且非常快就提示完成了,可是dist包下面只生成了_app.config.js,还是不能用。
怀疑是hbuilderx本身有问题,又换到vscode打包,依旧不行,换到idea,也不行,已经快要放弃了,我甚至还给jeecg的客服邮箱发了邮件。
但是别人都能打包成功,没道理我就不行,又多加了几个jeecgboot的群,有偿求助,终于有一位大佬出手相助,用向日葵远程帮我解决,他卸载了我原来的16.20.1版本的node,安装了16.15.1的node,问题就解决了!
本着寻根问底的精神,我决定继续探索,两个版本相隔这么近,没道理会差别这么大。对比他发给我的node安装包和我自己下载的node安装包,我才发现,他用的是X64版本而我用的是X86版本,这应该就是问题所在了,我又重新装了16.20.1的X64版本,果然也可以。以前看到多个版本的安装包。
X86和X64,名字还挺容易迷惑人的,第一反应以为是X86内存更大,希望这篇博客可以帮助更多人,就像这位网友帮助了我一样,再次对这位网友表示由衷的感谢(给他发红包也没收,说小事一桩)。