一、windows环境
问题1:
第一种方案:控制台运行命令
set NODE OPTIONS=--max old space size 8096
第二种方案:
解决:
- 全局安装 increase-memory-limit插件,执行 npm install -g increase-memory-limit
- 在根目录下执行increase-memory-limit
问题2:
报错:“node -- max-old-space-sixe=10240”不是内部或者外部命令,也不是可运行的程序
解决:
3. 新建根目录下 与node-modules同级,increase-memory-limit.js,把wfpath改成自己的项目地址即可
const fs = require('fs')
function replaceStr(filePath, sourceRegx, targetSrt) { //文件路径、 需要修改的字符串、修改后的字符串
fs.readFile(filePath, (err, data) => {
if (err) console.log(err)
else {
let str = data.toString();
str = str.replace(sourceRegx, targetSrt);
fs.writeFile(filePath, str, (err) => {
if (err) console.log(err);
})
}
})
}
var wfPath = 'D:/work/vue/node_modules/.bin'
fs.readdir(wfPath, (err, files) => {
if (err) console.log(err);
else {
if (files.length != 0) {
files.forEach((item) => {
var wfPath = 'D:/work/vue/node_modules/.bin';// 或者var wfPath = path.resolve(__dirname, '../node_modules/.bin')
if (item.split('.')[1] === 'cmd') {
wfPath += `/${item}`;
replaceStr(wfPath, /"%_prog%"/, '%_prog%')
}
})
}
}
})
- 文件根目录下执行命令:
node increase-memory-limit.js
执行完可以删除脚本文件 - 最后可以成功运行、打包命令;
二、mac环境
只需要在终端运行命令
export NODE_OPTIONS=--max_old_space_size=20480
遇到问题只是想记录下,解决参考:node打包内存溢出问题解决