前端nodejs服务CPU爆表的原因和解决办法

另一个项目的前端离职了,中途接手该项目,在本地构建启动之后,发现nodejs的服务cpu占用率高达90%多,遂寻找原因和解决办法。

我已经做好了遇到问题和困难的准备。 — 某接盘侠

原因

本地开发时,通常会使用热更新服务,设置watch属性开启文件修改的监听。

// webpack.config.js
module.exports = {
     
  //...
  watch: true
};

当开启监听之后可以设置监听的方式watchOptions,其中有一个属性是poll,使用轮询方式监听文件是否修改,默认为false,当为true时,默认为毫秒级,也可以设置为数字。当其值为true时,就会导致cpu使用率变高

// webpack.config.js
module.exports = {
     
  //...
  watchOptions: {
     
    poll: 1000 // 每1000毫秒轮询一次
  }
};

解决办法

watchOptions设置为false或者一个比较大的数字即可。推荐设置为false,因为实际开发时不需要实时监听文件的修改,在保存ctrl + s时会自动触发检查。

参考

  1. node js cpu 100%
  2. Watch and WatchOptions

你可能感兴趣的:(开发工具,nodejs,cpu爆表,devserver,webpack)