babeljs - 错误 : listen EADDRINUSE when using nodemon with babel 7

标签 babeljs nodemon babel-core

  • nodemon -v: 1.18.6
  • 节点-v: v11.2.0
  • 命令: nodemon --exec babel-node lib/server.js

  • 我的应用程序可以通过上述命令正常启动。当我更改源代码时,我希望 nodemon 自动重新启动。但我收到错误 Error: listen EADDRINUSE: address already in use :::3000 .

    错误详情
    [nodemon] starting `babel-node lib/server.js`
    events.js:167
          throw er; // Unhandled 'error' event
          ^
    
    Error: listen EADDRINUSE: address already in use :::3000
        at Server.setupListenHandle [as _listen2] (net.js:1294:14)
        at listenInCluster (net.js:1342:12)
        at Server.listen (net.js:1429:7)
        at Function.listen (/Users/longntran/Desktop/learning/pangara-web/node_modules/express/lib/application.js:618:24)
        at Object.listen (/Users/longntran/Desktop/learning/pangara-web/lib/server.js:12:5)
        at Module._compile (internal/modules/cjs/loader.js:722:30)
        at Module._compile (/Users/longntran/Desktop/learning/pangara-web/node_modules/pirates/lib/index.js:83:24)
        at Module._extensions..js (internal/modules/cjs/loader.js:733:10)
        at Object.newLoader [as .js] (/Users/longntran/Desktop/learning/pangara-web/node_modules/pirates/lib/index.js:88:7)
        at Module.load (internal/modules/cjs/loader.js:620:32)
    Emitted 'error' event at:
        at emitErrorNT (net.js:1321:8)
        at internalTickCallback (internal/process/next_tick.js:72:19)
        at process._tickCallback (internal/process/next_tick.js:47:5)
        at Function.Module.runMain (internal/modules/cjs/loader.js:778:11)
        at Object.<anonymous> (/Users/longntran/Desktop/learning/pangara-web/node_modules/@babel/node/lib/_babel-node.js:224:23)
        at Module._compile (internal/modules/cjs/loader.js:722:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:733:10)
        at Module.load (internal/modules/cjs/loader.js:620:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
        at Function.Module._load (internal/modules/cjs/loader.js:552:3) 
    

    依赖关系
    "dependencies": {
        "ejs": "^2.6.1",
        "express": "^4.16.4",
        "react": "^16.6.3",
        "react-dom": "^16.6.3"
      },
      "devDependencies": {
        "@babel/core": "^7.1.6",
        "@babel/preset-env": "^7.1.6",
        "@babel/preset-react": "^7.0.0",
        "@babel/node": "^7.0.0",
        "babel-jest": "^23.6.0",
        "babel-loader": "^8.0.4",
        "jest": "^23.6.0",
        "nodemon": "^1.18.6",
        "pm2": "^3.2.2",
        "prettier": "1.15.2",
        "regenerator-runtime": "^0.13.1",
        "webpack": "^4.26.1",
        "webpack-cli": "^3.1.2"
      }
    

    笔记

    我正在使用带有 babel 7 的 nodemon。请帮助我。谢谢你们

    最佳答案

    我在此线程中发现了一个有趣的修复,即向脚本中添加延迟和终止进程命令。

    "events": {
      "restart": "fuser -k 5000/tcp ; fuser -k 3050/tcp" // change to whatever ports you're using.
    }
    

    并为 nodemon 命令添加延迟:
     --delay 1500ms
    

    https://github.com/remy/nodemon/issues/1316#issuecomment-387367160

    我还注意到,如果我在代码编辑器中快速连续点击两次保存,则会出现此错误。但是,如果我只点击保存一次,我认为没有问题。

    关于babeljs - 错误 : listen EADDRINUSE when using nodemon with babel 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53511242/

    相关文章:

    node.js - 尝试运行 Storybook 时,`No "导出 "main resolved ` 错误

    javascript - 在reactjs es6文件中导入css脚本时出现意外的 token 非法错误

    node.js - Gulp-connect 显示错误 'listen EADDRINUSE' 8080

    gulp - Babel 导出聚合时抛出类型错误

    node.js - 在生产入口文件中使用 babel-polyfill

    javascript - 如何让 AudioWorklets 与 vue-cli/webpack/babel 一起工作? (获取非法调用错误)

    javascript - Babel 似乎没有改变我的 React-Native 代码

    javascript - Nodemon 不再工作了。用法 : nodemon [nodemon options] [script. js] [args]

    node.js - 使用 --config 设置 Mocha 的路径