Node.js 경험이 전무한데 Node.js 로 개발된 코드를 인수인계 받았다.
javascript 나 Java 등에 대한 어느 정도의 경험이 있어서 도움은 되지만 한 줄 한 줄 살펴보는 것이 더디다.
천리길도 한걸음부터!
app.js 라는 파일을 열어보니...
const fs = require('fs');
var routes = require('./routes');
var activity = require('./routes/activity');
var parser = bodyParser.urlencoded({extended:false});
require 가 무엇인가?
https://blog.naver.com/jaeeun_98/222921543245
Java 로 보면 import, C 로 보면 #include 와 유사하게 느껴진다.
D:\dev\pricow-naff\routes 디렉터리
2023-11-15 오후 02:04 <DIR> .
2023-11-15 오후 02:04 <DIR> ..
2023-11-15 오후 02:04 8,325 activity.js
2023-11-15 오후 02:04 604 index.js
2개 파일 8,929 바이트
2개 디렉터리 999,787,433,984 바이트 남음
require('./routes');
폴더명을 바로 쓰고 있다. 혹시 폴더명을 사용하면 web 에서 index.html 이나 default.html 을 디폴트로 사용하는 것처럼 디폴트로 index.js 를 사용하는 것일까?
require('./routes/activity');
activity.js 의 확장자는 제거하고 사용하고 있다.
확인해보자!
첫번째로 require('./routes'); 을 require('./routes333'); 이라고 변경하면 어떤 오류가 나는지 확인해보자.
index.js 를 index22.js 로 변경하고 테스트를 해보자. 내가 생각한 가설이 얼추 맞는 듯하다.
Error: Cannot find module './routes'
activity.js 또는 activity 둘다 정상 실행된다. 확장자는 붙이거나 말거나 개발자 맘인듯 하다.
var activity = require('./routes/activity.js');
Error: Cannot find module './routes/activity.js1'
함수 정의인지 콜백함수인지 어렵다. /getReqNum.do 는 외부 url 일까 내부 url 일까.
app.post('/getReqNum.do', function (req, res) {
console.log('getReqNum.do start');
var result = {
"all" : [
{
.. 중간 생략 ...
}
res.send(result);
})
Cannot GET /getReqNum.do
내부 주소가 아닌 것 같다.
그러나, 운영 서버 경로에서 해보면 에러메시지가 다르다.
지금 이 페이지가 작동하지 않습니다.문제가 계속되면 사이트 소유자에게 문의하세요.
HTTP ERROR 405
경로는 유효한데 파라미터 전달이 불충분하거나 세션이 없는 등의 내부 오류로 보인다. 로칼 개발환경과 운영환경이 다른 것으로 보인다.
app.post 를 먼저 이해하기 위해 스터디를 해보니 express 라는 것을 사용해서 post 방식으로 데이터를 주고 받는 것이었다.
https://bloodstrawberry.tistory.com/1216
크롬에서 F12 를 눌러서 getReqNum 을 보니
Preview 에 있는 것이 무엇인가?
app.js 에서 응답값을 2건 있는 것처럼 개발환경에서는 하드코딩해서 테스트하는 것이었다.
얼마나 더 살펴보아야 익숙해질 것이며, 어느 정도 파악을 하는것이 나에게 필요할까나...
오늘은 여기까지 살펴 보는 것으로 마무리하자.