38,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Express 튜토리얼 : 웹 서비스를 위한 핵심 API
mongoDB 어플리케이션 연결이 안됩니다...
```const express = require("express"); const MongoClient = require("mongodb").MongoClient; const app = express(); const port = 5000; const MongoURL = "mongodb+srv://username:비밀번호@cluster0.elhcowk.mongodb.net/express?retryWrites=true&w=majority"; var db, post; app.use(express.static("public")); app.use(express.urlencoded({ extended: false })); app.set("view engine", "ejs"); //app.set("view engine", "pug"); app.get("/", (req, res) => { post.insertOne({ 제목: "test", 내용: "test", 날짜: new Date(), }); res.render("index"); }); app.post("/calculator", (req, res) => { let result = Number(req.body.num1) + Number(req.body.num2); res.render("result", { result: result }); }); app.all("*", (req, res) => { res.status(404).send("찾을 수 없는 페이지입니다!"); }); MongoClient.connect(MongoURL, (err, database) => { if (err) { console.log(err); return; } else { app.listen(port, () => { console.log(`접속 완료됫어요 ${port}`); }); db = database.db("express"); post = db.collection("posts"); } }); ```강의 해주신대로 위 코드를 입력하고 nodemon을 실행하였음에도.. [nodemon] starting node index.js 라는 문구만 나올뿐.. db연동이 안됩니다 ㅠㅠ혹시 제 코드에 문제가 있나요..? url 부분에 username과 비밀번호는 제 몽고디비 아이디 비밀번호 입력했습니다..혹시 코드부분에서 잘못된 점이 있나요..?
- 미해결Express 튜토리얼 : 웹 서비스를 위한 핵심 API
myLogger 미들웨어가 작동하지 않는 경로가 있습니다.
강의영상에서 myLogger라는 예제 미들웨어를 사용하는 부분이 있었습니다.const myLogger = function(req, res, next) { console.log('LOGGED'); next(); } app.use(myLogger);위 코드를 삽입한 후 각 경로에 요청을 넣어보면 모두 LOGGED가 출력되었습니다. 그런데 딱 한 경로, post/edit/:postNum 경로에 대한 GET요청은 출력이 되지 않습니다. 특별한 이유가 있는건지, 아니면 제 개발환경의 문제인지 감을 못잡고 있는 상황입니다. 선생님이나 알고계신 분의 도움을 구합니다.
- 해결됨Express 튜토리얼 : 웹 서비스를 위한 핵심 API
npm 에러
이러한 오류는 어떻게 고치나요? 참고로 '내문서'라는 이름을 변경하는 것 또한 안됩니다.
- 미해결Express 튜토리얼 : 웹 서비스를 위한 핵심 API
5:30초때 app.post 부분 에러가 나요
app.post('/post/upload', (req, res) => { counter .findOne({name: "counter"}) .then((counterInfo) => { post .insertOne({ _id: counterInfo.postNum, title: req.body.title, contents: req.body.contents, date : new Date() }) .then(() => { counter .findOneAndUpdate( {name:"counter"}, { $inc : {postNum: 1}, } ) .then(() => { res.redirect("/"); }); }); }) .catch((err) => { console.log(err); res.send("글 저장에 실패"); }); }) 이렇게 했는데 에러가node:internal/errors:464 ErrorCaptureStackTrace(err); at new NodeError (node:internal/errors:371:5) at ServerResponse.setHeader (node:_http_outgoing:576:11) at ServerResponse.header (D:\inflearn-express\node_modules\express\lib\response.js:776:10) at ServerResponse.location (D:\inflearn-express\node_modules\express\lib\response.js:893:15) at ServerResponse.redirect (D:\inflearn-express\node_modules\express\lib\response.js:931:18) at D:\inflearn-express\index.js:38:13 at processTicksAndRejections (node:internal/process/task_queues:96:5) { code: 'ERR_HTTP_HEADERS_SENT' } [nodemon] app crashed - waiting for file changes before starting... 이렇게 나길래 찾아보니까 이미 응답을 보냈는데 한번더 응답을 보내려 할때 서버에서 충돌이 나서 오류가 나는거라고 하더라구요? 그래서 res.redirect("/"); 여기를return res.redirect("/"); 이렇게 고치니까 에러가안나는데 맞는건가요???