【问题标题】:NODEMON — app crashed - waiting for file changes before startingNODEMON - 应用程序崩溃 - 在启动前等待文件更改
【发布时间】:2021-09-04 09:58:33
【问题描述】:

当我运行 npm start server 时出现错误:

为什么会这样?端口 5000 是否已在使用中?

这是终端:

C:\Users\Sakib\chat-application\router\loginRouter.js:10 

router.get("/", loginController); 
                ^

ReferenceError: loginController is not defined

    at Object.<anonymous> (C:\Users\Sakib\chat-application\router\loginRouter.js:10:17)

    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (C:\Users\Sakib\chat-application\app.js:7:21)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 `[nodemon] app crashed - waiting for file changes before starting...

【问题讨论】:

  • 因为您正在引用一个名为 loginController 的函数,该函数不存在(至少不在范围内)...
  • 我已经这样做了,并按照以下路径创建了另一个名为 loginController 的文件夹。
  • 您能否将loginControllerloginRouter 代码添加到问题中?然后解释解决方案会更容易:)
  • @RukshanJayasekara 我在评论部分写了loginControllerLoginRounter 的代码。

标签: node.js npm nodemon


【解决方案1】:

正如@derpirscher 所说,您在loginRouter.js 中引用了错误的变量

//external imports
const express = require("express");

//internal imports
const { getLogin } = require("../controller/loginController");

const router = express.Router();

//login page
router.get("/", getLogin); // **Change this line**

module.exports = router;

【讨论】:

    【解决方案2】:

    登录控制器

        //get login page
    function getLogin(req, res, next) {
      res.render("index", {
        title: "login - Chat Application",
      });
    }
    
    module.exports = {
      getLogin,
    };
    

    登录路由器

    //external imports
    const express = require("express");
    
    //internal imports
    const { getLogin } = require("../controller/loginController");
    
    const router = express.Router();
    
    //login page
    router.get("/", loginController);
    
    module.exports = router;
    

    【讨论】:

    • 这不是答案,因此您应该将该代码放入您的问题中。
    • 尽管如此,即使您的模块被称为loginController,导入的函数也被称为getLogin。所以你必须使用router.get("/", getLogin)
    猜你喜欢
    • 2020-01-19
    • 2022-01-15
    • 2018-04-29
    • 2017-10-15
    • 2016-09-25
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多