简体   繁体   中英

nodemon app crashed - waiting for file changes before starting ... Error

appjs

const express = require("express");
const path = require("path");

const homeRouter = require("./routes/home.routes");

const app = express();
const port = 8000;

app.use(express.static(path.join(__dirname, "assets")));
app.use(express.static(path.join(__dirname, "images")));

app.set("view engine", "ejs");
app.set("views", "views");

app.use("/", homeRouter);

app.listen(port, () => {
console.log(`server listen on port ${port}`);
});

home routes

const router = require('express').Router()

const homeController = require('../controllers/home.controller')

router.get('/', homeController.getHome)

module.exports = router

homecontroller

const productsModel = require('../models/products.models')

exports.getHome = (req,res,next) => {
    //get products
    //get render index.ejs
    productsModel.getAllproducts().then(products => {
        res.render('index', {
            products: products
        })
    })

}

products.models

const mongoose = require("mongoose");

const DB_URL = 'mongodb://localhost:27017/shop'

const productsSchema = mongoose.Schema({
name:String,
image:String,
price:String,
category:String,
description:String
})

const product = mongoose.model('product', productsSchema)

exports.getAllproducts = () => {
    //connect to db
    //get products
    //disconnect
return new Promise((resolve,reject) => {
    mongoose.connect(DB_URL).then(() => {
        return product.find({})
    
    }).then(products => {
        mongoose.disconnect()
        resolve(products)
    }).catch(err => reject(err))
})
}

Error

node:events:504 throw er; // Unhandled 'error' event ^

Error: listen EADDRINUSE: address already in use:::8000 at Server.setupListenHandle [as _listen2] (node:net:1330:16) at listenInCluster (node:net:1378:12) at Server.listen (node:net:1465:7) at Function.listen (C:\Users\islam\OneDrive\Desktop\shopnode\node_modules\express\lib\application.js:635:24) at Object. (C:\Users\islam\OneDrive\Desktop\shopnode\app.js:17:5) at Module._compile (node:internal/modules/cjs/loader:1103:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) Emitted 'error' event on Server instance at: at emitErrorNT (node:net:1357:8) at processTicksAndRejections (node:internal/process/task_queues:83:21) { code: 'EADDRINUSE',
errno: -4091, syscall: 'listen', address: '::', port: 8000 } [nodemon] app crashed - waiting for file changes before starting...

In case we have some project running are both same port and on your server then catch this error and i have solve in that time.

  1. open terminal set your Dir location and run this command on your terminal doing this things using this command:- pkill node or for mac:- sudo killall -9 node or for windows:- > killall -9 node or

    killall node

  2. otherwise use this on your defined port modify your code var port = process.env.PORT || 8000; var port = process.env.PORT || 8000;

do all this things then server restart npm start or node app.js

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM