Vue-cli2.0 执行npm run dev 时提示内存溢出

ppylox
·3/24/2021·5 阅读
\n

一、问题

\n\n\n\n

最近在写一个 vue 项目,在进行 npm run dev 的时候,经常发现编译崩溃的事情,然后就需要再次 npm run dev。

\n\n\n\n

主要的报错信息如下:

\n\n\n\n

FATAL ERROR :CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of

\n\n\n\n

二、解决

\n\n\n\n

问题主要出现在 node 对于内存的限制上,网上的解决方法很多都是基于之前版本的 vue-cli

\n\n\n\n

那个时候的 vue-cli 的 scripts 还是直接使用的 node xxxx 命令,因此无法直接添加 node 运行参数。

\n\n\n\n

基本的解决方法就是增大内存,如果使用新版本的 vue-cli ,scripts 中 dev 是隐藏了 node 参数的:

\n\n\n\n
"scripts": {\n    "dev": "webpack-dev-server --inline --progress  --config  build/webpack.dev.conf.js",\n    "start": "npm run dev",\n    "build": "node build/build.js"\n  },\n\n
\n\n\n\n

需要直接去修改 webpack.cmd:

\n\n\n\n

文件路径在:

\n\n\n\n

node_modules/.bin/webpack.cmd

\n\n\n\n

在 node 命令上加上参数即可。

\n\n\n\n

之前的文件内容:

\n\n\n\n
@IF EXIST "%~dp0\\node.exe" (\n  "%~dp0\\node.exe"  "%~dp0\\..\\webpack\\bin\\webpack.js" %*\n) ELSE (\n  @SETLOCAL\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\n  node  "%~dp0\\..\\webpack\\bin\\webpack.js" %*\n)\n\n
\n\n\n\n

修改之后的文件内容:

\n\n\n\n
@IF EXIST "%~dp0\\node.exe" (\n  "%~dp0\\node.exe"  "%~dp0\\..\\webpack\\bin\\webpack.js" %*\n) ELSE (\n  @SETLOCAL\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\n  node  "--max-old-space-size=4096 %~dp0\\..\\webpack\\bin\\webpack.js" %*\n)
\n

评论 (0)

暂无评论,来写第一条吧