• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 [nodemon] app crashed - waiting for file changes before starting...

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

10 글 보임 - 1 에서 10 까지 (총 12 중에서)
  • 글쓴이
  • #10833

    지수환
    참가자

    Windows PowerShell
    Copyright (C) Microsoft Corporation. All rights reserved.

    새로운 크로스 플랫폼 PowerShell 사용 https://aka.ms/pscore6

    PS C:\Users\USER\Desktop\develop\node.js> nodemon server.js
    [nodemon] 2.0.7
    [nodemon] to restart at any time, enter 'rs'
    [nodemon] watching path(s): *.*
    [nodemon] watching extensions: js,mjs,json
    [nodemon] starting 'node server.js'
    C:\Users\USER\Desktop\develop\node.js\node_modules\express\lib\router\route.js:202
    throw new Error(msg);
    ^

    Error: Route.search() requires a callback function but got a [object String]
    at Route.<computed> [as search] (C:\Users\USER\Desktop\develop\node.js\node_modules\express\lib\router\route.js:202:15)
    at Function.app.<computed> [as search] (C:\Users\USER\Desktop\develop\node.js\node_modules\express\lib\application.js:482:19)
    at Object.<anonymous> (C:\Users\USER\Desktop\develop\node.js\server.js:6:5)
    at Module._compile (internal/modules/cjs/loader.js:1068:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:933:32)
    at Function.Module._load (internal/modules/cjs/loader.js:774:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47
    [nodemon] app crashed - waiting for file changes before starting...

     

    중간에 다시 서버를 열때 계속 이런 오류가 발생하여서 작업관리자로 계속 껐다켜서 다시 실행하는데 이런 오류가 발생하는 이유가 무엇일까요?

    #10837

    codingapple
    키 마스터

    특정 라우트 접속할 때 에러가 나는듯한데요 

    route.js 파일에 이상한 코드가 있는듯합니다 

    #10838

    지수환
    참가자

    index.html

     

    <!doctype html>
    <html>
      <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

        <!-- Bootstrap CSS -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">

        <title>Hello, world!</title>
      </head>
      <body>
        
        <nav class="navbar navbar-expand-lg navbar-light bg-light">
          <a class="navbar-brand" href="#">Too App</a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>
          <div class="collapse navbar-collapse" id="navbarNav">
            <ul class="navbar-nav">
              <li class="nav-item active">
                <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">Write</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">임시</a>
              </li>
            </ul>
          </div>
        </nav>

        <h4>홈입니다.</h4>

        <!-- Optional JavaScript; choose one of the two! -->

        <!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
        <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>

        <!-- Option 2: Separate Popper and Bootstrap JS -->
        <!--
        <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
        -->
      </body>
    </html>

    #10839

    지수환
    참가자

    list.ejs

     

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
      <title>Document</title>
    </head>
    <body>
      
        <nav class="navbar navbar-expand-lg navbar-light bg-light">
            <a class="navbar-brand" href="#">Too App</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
              <ul class="navbar-nav">
                <li class="nav-item active">
                  <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">Write</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">임시</a>
                </li>
              </ul>
            </div>
          </nav>

          <!-- 서버에서 가져온 할일 리스트 -->
          <h4>할일 제목 : <%= %></h4>
          <p>할일 마감날짜 : ???</p>

      <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
      <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    </body>
    </html>

    #10840

    지수환
    참가자

    server.js

     

    const express = require('express');
    const app = express();
    const bodyParser= require('body-parser')
    app.use(bodyParser.urlencoded({extended: true}));
    const MongoClient = require('mongodb').MongoClient;
    app.search('view engine', 'ejs');

    var db;
    MongoClient.connect('mongodb+srv://@cluster0.gskfb.mongodb.net/myFirstDatabase?retryWrites=true&w=majority', function(에러, client){

        if(에러) {return console.log(에러)}
        db = client.db('todoapp');

        

        app.listen(8080, function(){
            console.log('listening on 8080')
        });

    })

    app.get('/', function(요청, 응답){
        응답.sendFile(__dirname + '/index.html')
    });

    app.get('/write', function(요청, 응답) { 
        응답.sendFile(__dirname +'/write.html')
      });

      app.post('/add', function(요청, 응답){
          응답.send('전송완료')
          db.collection('post').insertOne({제목:요청.body.title, 날짜: 요청.body.date}, function(에러,결과){
            console.log('저장완료');
        });
      });

      app.get('/list', function(요청,응답){
          응답.render('list.ejs');
      });

    #10841

    지수환
    참가자

    write.html

     

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
      <title>Document</title>
    </head>
    <body>
      
        <nav class="navbar navbar-expand-lg navbar-light bg-light">
            <a class="navbar-brand" href="#">Too App</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
              <ul class="navbar-nav">
                <li class="nav-item active">
                  <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">Write</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">임시</a>
                </li>
              </ul>
            </div>
          </nav>

      <div class="container mt-3">
        <form action="/add" method="POST">
          <div class="form-group">
            <label>할일</label>
            <input type="text" class="form-control" name="title">
          </div>
          <div class="form-group">
            <label>날짜</label>
            <input type="text" class="form-control" name="date">
          </div>
          <button type="submit" class="btn btn-danger">Submit</button>
        </form>
      </div>

      <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
      <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    </body>
    </html>

    #10842

    지수환
    참가자

    route.js 파일은 열리지가 않아서 볼수가 없네요. 위 소스코드들로 오류 한번 찾아봐주실 수 있을까요?

    #10849

    codingapple
    키 마스터

    코드는 별문제 없어보이는데요 

    어떤 페이지 접속할 때 에러가 나나요

    아니면 post 요청시 에러가 나나요?

    그 전에 파일 저장을 잘하셨습니까 

    #10853

    지수환
    참가자

    중간에 서버 다시 열때 nodemon server.js 해서 서버를 다시 켤때 저런 오류가 뜹니다.

    PS C:\Users\USER\Desktop\develop\node.js> nodemon server.js
    [nodemon] 2.0.7
    [nodemon] to restart at any time, enter 'rs'
    [nodemon] watching path(s): *.*
    [nodemon] watching extensions: js,mjs,json
    [nodemon] starting 'node server.js'
    C:\Users\USER\Desktop\develop\node.js\node_modules\express\lib\router\route.js:202
    throw new Error(msg);
    ^

    Error: Route.search() requires a callback function but got a [object String]
    at Route.<computed> [as search] (C:\Users\USER\Desktop\develop\node.js\node_modules\express\lib\router\route.js:202:15)
    at Function.app.<computed> [as search] (C:\Users\USER\Desktop\develop\node.js\node_modules\express\lib\application.js:482:19)
    at Object.<anonymous> (C:\Users\USER\Desktop\develop\node.js\server.js:6:5)
    at Module._compile (internal/modules/cjs/loader.js:1068:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:933:32)
    at Function.Module._load (internal/modules/cjs/loader.js:774:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47
    [nodemon] app crashed - waiting for file changes before starting...

    #10856

    지수환
    참가자

    route.js 파일입니다. 너무 물어봐서 죄송합니다. 이거때매 진도를 못나가서요ㅠㅜ

10 글 보임 - 1 에서 10 까지 (총 12 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠