Skip to content

nodeJs

使用 vite 构建工具打包时,出现含有<--- Last few GCs ---><--- JS stacktrace --->的报错;

我们在使用 node 启动项目的时在项目较大的时候,可能会造成内存溢出。为什么会造成内存溢出呢? 要回答上面这个问题,我们要了解 node 中是如何分配内存的。 Node 中通过 JavaScript 使用内存时只能使用部分内存(64 位系统:1.4 GB, 32 位系统:0.7 GB) 如果前端项目比较大,Webpack 编译时就会占用很多的系统资源, 此时一旦超出了 V8 引擎对 Node 默认的内存限制大小时,就会产生内存溢出的错误。 在终端我们就会看见如下关键报错信息: <--- JS stacktrace ---> <--- Last few GCs ---> 这些都表明内存溢出了。

node
    "build": "node --max_old_space_size=8192 node_modules/vite/bin/vite.js build"

V8 引擎的垃圾回收机制

npm

npm config list 查看 npm 配置信息 npm ls -g 查看 npm 全局安装的依赖

__dirname __filename // 都是绝对路径

path模块

os

process

process.argv // 获取命令后面的参数 process.cwd(); // 获取路径

exit() // 退出进程

env // 环境变量 获取操作系统中所有环境变量 可以修改 修改只在当前进程生效 不会影响系统的环境变量

child_process

  1. exec

  2. spawn

  3. execFile

exec --> execFile --> spawn

  1. fork 只能接受js文件 类似webWorker

ffmpeg

fs模块