今天在使用vscode进行前端页面开发时,不能正常进行热更新,每当进行热更新的时候会报内存溢出错误,如下

 
<--- JS stacktrace --->
 
==== JS stack trace =========================================
 
    0: ExitFrame [pc: 3295209E]
    1: StubFrame [pc: 32946989]
Security context: 0x0f312701 <JSObject>
    2: replace [0F30B631](this=0x3ec73a65 <String[263]: D:/PDFUND2/trunk/src/pdfundvue/node_modules/babel-loader/lib/
index.js!D:/PDFUND2/trunk/src/pdfundvue/node_modules/vue-loader/lib/selector.js?type=script&index=0!D:/PDFUND2/trunk/
src/pdfundvue/src/components/page/assetnetshareMSSDQry/assetnetshareMSSDQrySelect.vue>,0x1334c6a5 <JSReg...
 
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 00F4254E node::MakeCallback+3774
 2: 0159C652 v8::internal::Heap::MaxHeapGrowingFactor+9554
 3: 015933F1 v8::internal::ScavengeJob::operator=+16593
 4: 01591F78 v8::internal::ScavengeJob::operator=+11352
 5: 013FC644 v8::internal::StackGuard::HandleInterrupts+100
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR! pdfundvue@1.0.0 dev: `webpack-dev-server --inline --progress --watch --config build/webpack.dev.conf.js`
npm ERR! Exit status 134
npm ERR!
npm ERR! Failed at the pdfundvue@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
 
npm ERR! A complete log of this run can be found in:
npm ERR!     D:\Users\xxx\xx\xx\npm-cache\_logs\2019-07-03T05_43_41_196Z-debug.log

网上的解释都不太对,
一种说是写的前端代码中有死循环,可能不大
还有一种是因为程序过大导致的,感觉这个原因的概率大一点

解决方法也大概有两中:

// 修改div的分配的内存大小,即修改8192的值,增大
"scripts": {
    "dev": "node --max-old-space-size=8192 build/dev.js"
  },

还有一种就是添加插件

在package.json中进行配置
"dependencies": {
    "increase-memory-limit": "^1.0.3",
    "cross-env": "^5.0.5"
  },

执行npm install 来安装组件 npm install increase-memory-limit

然后再添加如下:

在package.json中进行配置
"scripts": {
    "fix-memory-limit": "cross-env LIMIT=3072 increase-memory-limit"
  },

LIMIT是你想分配的内存大小,然后执行npm run fix-memory-limit
然后在项目执行之前先执行fix-memory-limit,在正常执行dev就OK了

详细教程链接
参考链接

Logo

前往低代码交流专区

更多推荐