express path설정 & mysql decimal 반환타입
path설정을 잘못 해서 2시간정도 삽질을 했다.
서버의 데이터들을 웹으로 가져오기 위해 연동을 할려고했다.
하지만 path설정을 이상하게 했더니 ejs html 둘다 연동이 안되는 경험을 오늘했따...
//잘못된 경우 path모듈을 안쓰고 view 엔진 설정
app.set('views', ../views);
app.set('view engine', 'ejs');
../ 안읽히는지 파일을 찾을수 없다고 뜬다..
-------------------------------------------------------
해결방안
path.join()메서드는 path플랫폼 별 구분 기호를 구분 기호로 사용하여 주어진 모든 세그먼트를 결합한 다음 결과 경로를 정규화합니다.
const path = require('path');
let mypath = path.join(__dirname,"../views");
app.set('views', mypath);
app.set('view engine', 'ejs');
path모듈을 설정한 이후 ejs 파일이 정상적으로 연동이 됐다.
----추가 ----
"id": 2,
"product_title": "광명 소하동 호텔",
"image_url": "https://yanolja.in/wp-content/uploads/2016/04/%EC%95%BC%EB%86%80%EC%9E%90_01.png",
"score": 3.44,
"review_count": "3",
"sleep_price": "450000"
API명세서를 작성하던 도중 mysql decimal형 의 특이점을 발견했다.
id 값은 int라 number로 반환되는데 decimal형은 Stirng으로 반환된다.
나중에 API명세서 작성할 떄 유념해서 작성해야겠다.
해결방안
console.log("테스트",typeof(room_price[0].weekend_sleep_price));
타입을 우선 확인한 뒤
console.log("테스트",parseInt(product[0].sleep_price));
console.log("테스트",parseFloat(product[0].score));
타입 변경후 데이터가 잘나오는지 확인
Author And Source
이 문제에 관하여(express path설정 & mysql decimal 반환타입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yuus95/express-path설정저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)