簡體   English   中英

nodemon 應用程序崩潰 - 在開始之前等待文件更改...錯誤

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

應用程序

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}`);
});

回家路線

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

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

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

module.exports = router

家庭控制器

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
        })
    })

}

產品.模型

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))
})
}

錯誤

節點:事件:504 拋出 er; // 未處理的“錯誤”事件 ^

錯誤:監聽 EADDRINUSE:在 Server.listenHandle [as _listen2] (node:net:1330:16) atlistenInCluster (node:net:1378:12) 在 Server.listen (node:net: 1465:7) 在 Function.listen (C:\Users\islam\OneDrive\Desktop\shopnode\node_modules\express\lib\application.js:635:24) 在 Object。 (C:\Users\islam\OneDrive\Desktop\shopnode\app.js:17:5) 在 Module._compile (node:internal/modules/cjs/loader:1103:14) 在 Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10) 在 Module.load (node:internal/modules/cjs/loader:981:32) 在 Function.Module._load (node:internal/modules/cjs/loader :822:12) 在 Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) 在服務器實例上發出 'error' 事件: atemitErrorNT (node:net:1357:8) at processTicksAndRejections (節點:內部/進程/任務隊列:83:21){代碼:'EADDRINUSE',
errno: -4091, syscall: 'listen', address: '::', port: 8000 } [nodemon] app crashed - 在開始之前等待文件更改...

如果我們有一些正在運行的項目都是相同的端口並且在您的服務器上然后捕獲這個錯誤並且我在那段時間解決了。

  1. 打開終端設置您的目錄位置並在您的終端上運行此命令,使用以下命令執行此操作:- pkill node或用於 mac:- sudo killall -9 node或 windows:- > killall -9 node

    killall node

  2. 否則在您定義的端口上使用它修改您的代碼var port = process.env.PORT || 8000; var port = process.env.PORT || 8000;

做所有這些事情然后服務器重啟npm startnode app.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM