【问题标题】:nodemon app crashed - waiting for file changes before starting ... Errornodemon 应用程序崩溃 - 在启动之前等待文件更改......错误
【发布时间】:2023-02-12 16:27:45
【问题描述】:

应用程序

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 扔呃; // 未处理的“错误”事件 ^

错误:监听 EADDRINUSE:地址已在使用中::8000 在 Server.setupListenHandle [as _listen2] (node:net:1330:16) 在 listenInCluster(节点:网络:1378:12) 在 Server.listen(节点:网络:1465:7) 在 Function.listen (C:\Users\islam\OneDrive\Desktop\shopnode\node_modules\express\lib\application.js:635:24) 在对象。 (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) 服务器上发出“错误”事件 实例在: 在 emitErrorNT(节点:网络:1357:8) 在 processTicksAndRejections (node:internal/process/task_queues:83:21) { code: 'EADDRINUSE',
错误号:-4091,系统调用:'listen',地址:'::',端口:8000} [nodemon] 应用程序崩溃 - 在开始之前等待文件更改...

【问题讨论】:

    标签: node.js mongodb node-modules nodemon nodejs-server


    【解决方案1】:

    如果我们有一些项目在同一端口和您的服务器上运行,那么会捕获此错误,我会在那个时候解决。

    1. 打开终端设置您的目录位置并在您的终端上运行此命令 做这件事 使用此命令:- pkill node 或者 对于 Mac:- sudo killall -9 node 或者 对于 Windows :- > killall -9 node 或者

      killall node

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

      做所有这些事情然后服务器重启 npm startnode app.js

    【讨论】:

      【解决方案2】:

      当我使用这些命令时,会显示此错误:

      At line:1 char:2
      
        • pkill 节点
      • ~ 一元运算符“-”后缺少表达式。 在行:1 字符:3
        • pkill 节点

      表达式或语句中出现意外的标记“pkill”。 + 类别信息:ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingExpressionAfterOperator

      我使用var port = process.env.PORT || 8000; 但它也不起作用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-02
        • 2020-01-19
        • 2019-12-15
        • 2022-11-11
        • 2022-01-15
        • 2018-04-29
        • 2017-10-15
        • 2016-09-25
        相关资源
        最近更新 更多