본문 바로가기

Node.js15

Router.use() 에러 throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn)) ^TypeError: Router.use() requires a middleware function but got a Object at Function.use (/Users/SaintKim/Documents/Node/Node_SNS/node_modules/express/lib/router/index.js:469:13) at Function. (/Users/SaintKim/Documents/Node/Node_SNS/node_modules/express/lib/application.js:227:21) at Array.fo.. 2024. 3. 21.
시퀄라이즈 참조 정리 시퀄라이즈를 사용하다 보면 1 : N 참조 관계가 있고, N : M 참조관계가 존재한다.1 : N 참조관계user.js의 db.User은 hasMany(db.Post)를 가진다고 하는데, 하나의 유저는 여러 개의 게시글을 작성할 수 있기 때문에 hasMany로 표현한 것이고, db.Post는 belongsTo(db.User)에 종속된다.  belongsToMany가 아닌 이유는 하나의 유저가 여러 개의 게시글을 작성할 수 있다고 했기에 db.User 하나에 종속되서 Many를 사용하지 않아도 된다.static associate(db) { db.User.hasMany(db.Post)}static associate(db) { db.Post.belongsTo(db.User)}1 : 1 참조관계db.Use.. 2024. 3. 20.
사소한 오류 해결 서버는 listen을 하지 않으면 작동하지 않기 때문에 listen을 꼭 적어줘야 한다. error 메세지도 나오지 않고 서버가 닫혀있기 때문에 콘솔에 어떤 내용도 없이 서버가 안열리면 listen()을 적도록 하자.app.listen(app.get('port'), () => { console.log(app.get('port'), '번 포트에서 서버 대기중')})세션에서 secret키를 요구한다고 할 때는 세션 비밀 키 설정이 잘못되었을 확률이 크다. 우선 변수부터 확인해서 제대로 된 변수를 사용했는지 파악하는 것이 중요. .env 안에서 NODE_SECRET를 NODE_PARSER로 적어놓아서 오류가 발생했던 것.secret option required for sessionsError: secret .. 2024. 3. 20.
BSON Error 해결 코딩애플에서 DB 사용법을 준 것은 BSON Error이 계속 발생한다. 자바스크립트는 비동기 언어이기 때문에 일부러 Blocking을 주지 않으면 BSON Error이 발생한다. 코딩애플에서 준 코드는 async, await이 없기 때문에 db를 연결할 때 에러가 발생한다.const { MongoClient } = require('mongodb')let dbconst url = 'mongodb사이트에 있던 님들의 접속 URL'new MongoClient(url).connect().then((client)=>{ console.log('DB연결성공') db = client.db('forum') app.listen(8080, () => { console.log('http://localhost:80.. 2024. 3. 10.