Nuxt js开发环境中CPU使用率高
Posted
技术标签:
【中文标题】Nuxt js开发环境中CPU使用率高【英文标题】:Nuxt js high CPU usage in dev environment 【发布时间】:2020-09-06 16:13:14 【问题描述】:由于更新很少,我在 docker 容器中的应用程序前端部分无法正常工作 它使用了 100% 以上的 Docker CPU,我的笔记本电脑 CPU 的 60/70%(风扇以 100% 运行) 而且 HMR 很慢
此问题不会出现在生产和其他笔记本电脑上
我在不同论坛尝试了很多类似问题的东西,但没有任何效果
我将 Docker 重置为出厂默认设置,允许更多内存和 CPU 我更新了我的依赖项 我删除并恢复了我的节点模块
我不知道我应该检查什么来解决这个问题
MacOS Catalina 10.15.4
Node v13.12.0
我的 package.json
"name": "front",
"version": "1.0.1",
"description": "My first-class Nuxt.js project",
"private": true,
"scripts":
"dev": "nuxt",
"build": "nuxt build",
"start": "HOST=0.0.0.0 PORT=8080 nuxt start",
"generate": "nuxt generate",
"lint": "eslint --ext .js,.vue .",
"precommit": "npm run lint"
,
"config":
"nuxt":
"host": "0.0.0.0",
"port": "8080"
,
"dependencies":
"@fullcalendar/core": "^4.3.1",
"@fullcalendar/daygrid": "^4.3.0",
"@fullcalendar/interaction": "^4.3.0",
"@fullcalendar/timegrid": "^4.3.0",
"@fullcalendar/vue": "^4.3.1",
"@nuxt/webpack": "^2.11.0",
"@nuxtjs/auth": "^4.5.3",
"@nuxtjs/axios": "^5.4.1",
"@nuxtjs/google-analytics": "^2.2.0",
"@nuxtjs/google-tag-manager": "^2.1.4",
"@nuxtjs/gtm": "^2.2.3",
"@nuxtjs/pwa": "^2.6.0",
"@nuxtjs/robots": "^2.0.0",
"@nuxtjs/router": "^1.3.2",
"@nuxtjs/sitemap": "^0.2.2",
"algoliasearch": "^4.1.0",
"cross-env": "^5.2.0",
"cxlt-vue2-toastr": "^1.1.0",
"date-fns": "^1.30.1",
"debug": "^4.1.1",
"gsap": "^2.1.3",
"jquery": "^3.4.1",
"libphonenumber-js": "^1.7.14",
"moment": "^2.24.0",
"node-sass": "^4.13.1",
"nuxt": "^2.11.0",
"nuxt-facebook-pixel-module": "^1.3.0",
"nuxt-google-maps-module": "^1.6.0",
"nuxt-jsonld": "^1.4.5",
"nuxt-token-auth": "^1.0.2",
"nuxt-user-agent": "^1.2.2",
"sass-loader": "^7.1.0",
"vee-validate": "^2.2.0",
"vue": "^2.6.11",
"vue-gallery": "^2.0.0",
"vue-i18n": "^8.10.0",
"vue-infinite-scroll": "^2.0.2",
"vue-instantsearch": "^2.7.0",
"vue-js-modal": "^1.3.33",
"vue-lazyload": "^1.2.6",
"vue-mq": "^1.0.1",
"vue-multiselect": "^2.1.6",
"vue-read-more": "^1.1.1",
"vue-scrollto": "^2.15.0",
"vue-sticky": "^3.3.4",
"vue-tawk": "^1.0.1",
"vue-upload-component": "^2.8.20",
"vue-wait": "^1.3.3",
"vue2-dropzone": "^3.5.8",
"vue2-leaflet": "^1.2.3",
"vuedraggable": "^2.20.0",
"vuejs-datepicker": "^1.5.4",
"vuejs-paginate": "^2.1.0",
"vueperslides": "^2.7.0"
,
"devDependencies":
"babel-eslint": "^8.2.1",
"eslint": "^5.16.0",
"eslint-config-standard": "^12.0.0",
"eslint-loader": "^2.1.2",
"eslint-plugin-import": "^2.16.0",
"eslint-plugin-node": "^8.0.1",
"eslint-plugin-promise": "^4.0.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^4.7.1",
"nodemon": "^1.18.10"
【问题讨论】:
在 Mac 的 Docker Desktop 上有带有主机目录绑定挂载的 known performance issues。对于基于浏览器的应用程序,安装原生 Node 可能比尝试使用 Docker 模拟原生开发环境效果更好。 【参考方案1】:可能是 webpack 的 watch 模式有问题。 如here所述:
对于某些系统,查看多个文件系统可能会导致大量 CPU 或内存使用。可以排除像 node_modules 这样的巨大文件夹
module.exports =
//...
watchOptions:
ignored: /node_modules/
;
在你的情况下(nuxt.js),只需添加到 nuxt.config.js
watchers:
webpack:
ignored: /node_modules/
【讨论】:
谢谢,PC 风扇快把我逼疯了(声音很大)。 nuxt.js 选项拯救了我的一天以上是关于Nuxt js开发环境中CPU使用率高的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose(node.js 模块)导致 CPU 使用率高
Mongoose(node.js 模块)导致 CPU 使用率高
Mongoose(node.js 模块)导致 CPU 使用率高