记vue编译时“CALL_AND_RETRY_LAST Allocation failed”解决方法
问题描述强两天在编译一个原本非常安静低调的vue工程是突然出现如下错误98% after emitting CopyPluginFATAL ERROR: CALL_AND_RETRY_LAST Allocation failed...
·
问题描述
强两天在编译一个原本非常安静低调的vue工程是突然出现如下错误
98% after emitting CopyPluginFATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: 00007FF633F10EFA v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4810
2: 00007FF633EEA296 node::MakeCallback+4518
3: 00007FF633EEAC80 node_module_register+2160
4: 00007FF6341809BE v8::internal::FatalProcessOutOfMemory+846
5: 00007FF6341808EF v8::internal::FatalProcessOutOfMemory+639
6: 00007FF6346BE954 v8::internal::Heap::MaxHeapGrowingFactor+11476
。。。。。。
解决方法
刚开始时还以为系统内存不够,果断关闭多余系统并重启系统,可惜居然还有无法用大招解决的问题。经过一番搜索后终于找到原因:webpack编译时会占用资源,此时如果vue工程太大,会导致webpack所占用资源超出了V8(node基于V8引擎)对node资源大小的限制,所以此时需要通过–max-old-space-size调整资源大小的限制,就可以解决这个问题。如下:
// node命令直接添加
node --max-old-space-size=4096 main.js
如果是通过vue-cli搭建的,那么可以在工程的package.json找到对应的命令进行修改,如下:
"scripts": {
"dev": "npx --max_old_space_size=8192 vue-cli-service serve",
......
}
或者
"scripts": {
"dev": "vue-cli-service serve --max_old_space_size=8192",
......
}
更多推荐
已为社区贡献3条内容
所有评论(0)