본문 바로가기

Node.js

(13)
미들웨어 이해하기 node.js 는 미들웨어 to 미들웨어 라고 생각해되될만큼 미들웨어가 상당히 중요한데, app.use((req,res,next))안에 request 요청과 response 응답을 조작할수있는데 이를 공통 미들웨어라고 하며 next 함수를 호출해서 다음 미들웨어가 실행 되도록해주어야한다 그래야 위에서부터 주르륵 동기적으로 파일을 읽음 그리고 보통 라이브러리 , 패키지를 app.use(express.json()) 이런식으로 장착해서 사용하는데 그러면 여기에는 왜 next 가 명시하지 않았는 물음에는 내부적으로 next함수를 호출하기있기때문에 라고 답할수있을것 같습니다 'ㅅ' 그리고 app.get , app.post, app.delete , app.update 등등 이런 형태의 것들도 미들웨어이고 '라우팅 ..
[err]Cannot convert object to primitive value Cannot convert object to primitive value 라는 문구눈 객체를 콘솔로그에서 찍으려할때 나오는것같다..정확히는 모르겠음... (가끔 콜백으로 전달되는 객체 콘솔로그에서 바로찍으면..출력되는것같았..는데;;??) 암튼!!!!!!!!!!!!!!!!!!!!에러를 만났다면 해결을해야지 아래 사진과 같이 console.log(`블라블라 ${re.body}`) 이런식으로 찍으면 발생하는 에러?임 방법은 JSON.stringfy(req.body) 문자열로 바꿔주면 해결된당 별거아닌거에 끙끙되는 내자신이 부끄럽네요 여러분들도 언능 해결해서 콘솔로그로 빨리빨리찍어보고 개발 하세요~화이티잉~~~>.
express 에서 put.delete 메소드를 사용할수없습니까? //app.js or server.js 설정. npm install method-override 모듈설치. //server //front form action = 부분에 ?_method=PUT 이런식으로해야 서버에서 put , delete 가 작동할것이다.. 이거안되서 그냥 서버에서 post 로 사용하곤했는데..restful한 api를 사용하기위해.......ㅠ공부를열씸히하도록하자...
(node:54353) [SEQUELIZE0004] DeprecationWarning: A boolean value was passed to options.operatorsAliases. This is a no-op with v5 and should be removed. sequelize db sync 중 이런오류가 발생한다면 confing.json / 해당 객채에 operatorsAliases : false => 0 으로 해주면 됨.
view engine => ejs 사용법 일단 npm 모듈인 ejs 를 설치해준당 npm install ejs 설치가 잘되면 아래 사진과 같이 설정해준당 server.set(`views` , `./views') => 내가이해한바로는 보여줄 ejs 파일이있는 디렉토리는 './views' 라고 하는것같음 ㅎㅎㅎㅎㅎ server.set(`view engine` , `ejs`) => 뷰엔진 사용할건데 'ejs' 쓸꺼얌 이렇게하면 route 파일에서도 ./views 에있는 user.ejs 파일 res.renser(`user`) 이런식으로 보여줄수있뜸 그리고 값을 전달할수도있는뎅 오브젝트로 보낼수있고 방법은 res.render(`user` : {name:'정후니'}) => 요런식으로 보내고 user.ejs 에서는 이런식으로 전달받아서 사용할수있따. 끗
view engine => ejs 사용법 일단 npm 모듈인 ejs 를 설치해준당 npm install ejs 설치가 잘되면 아래 사진과 같이 설정해준당 server.set(`views` , `./views') => 내가이해한바로는 보여줄 ejs 파일이있는 디렉토리는 './views' 라고 하는것같음 ㅎㅎㅎㅎㅎ server.set(`view engine` , `ejs`) => 뷰엔진 사용할건데 'ejs' 쓸꺼얌 이렇게하면 route 파일에서도 ./views 에있는 user.ejs 파일 res.renser(`user`) 이런식으로 보여줄수있뜸 그리고 값을 전달할수도있는뎅 오브젝트로 보낼수있고 방법은 res.render(`user` : {name:'정후니'}) => 요런식으로 보내고 user.ejs 에서는 이런식으로 전달받아서 사용할수있따. 끗
__dirname 상위경로 찾아가는방법 feat. require('path') node.js 공부하다보면 폴더경로를 찾아가야할때가 많은데 __dirname 을사용하면 현재 디렉토리까지의 path를 알수있다 하지만 상위경로에있는 디렉토리에 파일에 접근하려면 ../ 단순하게 이렇게는 안되더라 잠깐의 서치 끝에 금방 해결 방법을알았는데 내장모듈 path를 사용하면된다 path.join 을사용해서 디렉토리를 만들어서 사용하면됨! 원하는 경로를 콘솔로그로 찍어보면서 하면된당~~~~그리고 상위로 한폴더올라가는것은 /../ 요것임 다들 화이팅하세용~~~~~~~~~~~~
3000포트 충돌 문제 해결하기. 이문제로 해결이 안되면 sudo killall -9 node 이것도한번 해보세요~~!!!!!!!!!!!