海南网站推广建设,网站网页设计工作内容,全球速卖通卖家注册,社交网站开发流程Vite与Webpack打包内存溢出问题处理 文章目录 Vite与Webpack打包内存溢出问题处理1. Vite1. 打包错误提示2. 命令行方式解决3. 配置环境变量方式解决1. 设置变量2. 配置系统的环境变量 2. Webpack1. 打包错误提示2. 命令行方式解决3. 配置环境变量方式解决1. 设置变量2. 配置系…Vite与Webpack打包内存溢出问题处理 文章目录 Vite与Webpack打包内存溢出问题处理1. Vite1. 打包错误提示2. 命令行方式解决3. 配置环境变量方式解决1. 设置变量2. 配置系统的环境变量 2. Webpack1. 打包错误提示2. 命令行方式解决3. 配置环境变量方式解决1. 设置变量2. 配置系统的环境变量 Node.js8.0之前要限制node.js内存则需要通过increase-memory-limit插件来完成安装命令npm install -g increase-memory-limit ;Nodes.js8.0之后可以使用NODE_OPTIONS 环境变量全局设置 max_old_space_size值来修改内存大小;下面主要以在package.json中的script中配置node --max_old_space_size内存大小来解决Vite与WebPack环境下开发或打包时遇到的内存溢出问题 1. Vite Vite下可以使用两种方式来解决此问题 使用设置命令行参数来解决 使用环境变量 1. 打包错误提示 --- Last few GCs ---[31456:00000245F8E00080] 78693 ms: Mark-Compact 4047.1 (4135.9) - 4035.6 (4140.4) MB, 1905.55 / 0.00 ms (average mu 0.475, current mu 0.329) allocation failure; scavenge might not succeed
[31456:00000245F8E00080] 83823 ms: Mark-Compact 4051.8 (4140.4) - 4040.3 (4144.9) MB, 5028.55 / 0.00 ms (average mu 0.219, current mu 0.020) allocation failure; scavenge might not succeed--- JS stacktrace ---FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory1: 00007FF61BBF436F node::SetCppgcReference156952: 00007FF61BB6C686 EVP_MD_meth_get_input_blocksize761023: 00007FF61BB6E471 EVP_MD_meth_get_input_blocksize837614: 00007FF61C5DB281 v8::Isolate::ReportExternalAllocationLimitReached655: 00007FF61C5C4A18 v8::Function::Experimental_IsNopFunction13366: 00007FF61C4260A0 v8::Platform::SystemClockTimeMillis6596967: 00007FF61C423128 v8::Platform::SystemClockTimeMillis6475448: 00007FF61C43843A v8::Platform::SystemClockTimeMillis7343469: 00007FF61C438CB7 v8::Platform::SystemClockTimeMillis736519
10: 00007FF61C4475DF v8::Platform::SystemClockTimeMillis796207
11: 00007FF61C1079F5 v8::CodeEvent::GetFunctionName116773
12: 00007FF5BC65AAFAELIFECYCLE Command failed with exit code 134.
2. 命令行方式解决 Vite打包执行的是node_modules/vite/bin/vite.js,所以在打包时修改package.json中的script脚本即可关于内存设置的大小可根据自己电脑内存的实际大小衡量来设定下面以设置 8G 8 * 1024 8192MB为例 修改前
scripts: {build: vite build --mode production vue-tsc --noEmit,}. 修改后
{scripts: {build: node --max_old_space_size8192 node_modules/vite/bin/vite.js build --mode production vue-tsc --noEmit}
}3. 配置环境变量方式解决
1. 设置变量 在执行打包命令前设置变量方式更改node.js内存限制下面以Windows为例Linux中使用export NODE_OPTIONS--max-old-space-size8192来设置 仅当前窗口有效
# windows
set NODE_OPTIONS --max-old-space-size8192当前用户永久有效
# Windows
setx NODE_OPTIONS --max_old_space_size8192 # 8GB2. 配置系统的环境变量
在系统的环境变量中新增环境变量配置内容如下
变量名(N): NODE_OPTIONS
变量值(V): --max-old-space-size81922. Webpack Webpack下打包时解决内存溢出的方式与Vite类似也使用两种方式来解决此问题 使用设置命令行参数来解决 使用环境变量 1. 打包错误提示
如下图 2. 命令行方式解决 以Webpack Vue-cli脚手架为例如果非Vue-cli脚手架根据实际情况自行修改即可。 Webpack包执行的是node_modules/vue/cli-service/bin/vue-cli-service.js,所以在打包时修改package.json中的script脚本即可关于内存设置的大小可根据自己电脑内存的实际大小衡量来设定下面以设置 8G 8 * 1024 8192MB为例 修改前 scripts: {dev: vue-cli-service serve,build: vue-cli-service build}. 修改后
scripts: {dev: node --max_old_space_size8192 node_modules/vue/cli-service/bin/vue-cli-service.js serve,build: node --max_old_space_size8192 node_modules/vue/cli-service/bin/vue-cli-service.js build,}3. 配置环境变量方式解决
1. 设置变量 在执行打包命令前设置变量方式更改node.js内存限制下面以Windows为例Linux中使用export NODE_OPTIONS--max-old-space-size8192来设置 仅当前窗口有效
# windows
set NODE_OPTIONS --max-old-space-size8192当前用户永久有效
# Windows
setx NODE_OPTIONS --max_old_space_size8192 # 8GB2. 配置系统的环境变量
在系统的环境变量中新增环境变量配置内容如下
变量名(N): NODE_OPTIONS
变量值(V): --max-old-space-size8192