반응형
Express를 사용하지 않고, Node.js 를 사용하여 간단한 서버 구축하기
window.location
: 현재 나의 위치 정보를 알 수 있다.
예시)) https://monkeyworld.com/search?keyword=monkey
- window.location.path => "/search"
- window.location.search => "?keyword=monkey"
응용 : keyword의 값인 monkey 추출하기
1. 우선 npm의 querystring 모듈을 가져온다.
const querystring = require('querystring');
2. querystring의 .parse() method를 활용하여 keyword의 값을 찾아준다.
let search = location.search; // "?keyword=monkey"
let param = querystring.parse(search.slice(1)); //search의 ? 제거
console.log(param.keyword); //"monkey"
=> 사실 되는지 안되는지는 확인 못해봤다^^;; 일단 기록을 위해 남겨둔다.
require("경로") module.export = 변수
: 외부 파일에 있는 변수를 다른 파일에서 끌어다 사용해야 할 때,
//같은 폴더 내의 messages.js파일
var message = [];
module.export = message;
message라는 변수를 export를 통해서 내보낸다.
같은 폴더내의 server.js
const message = require("./message.js");
require 를 통해 message.js 파일의 message 변수를 가져온다.
하면서 알게된 것들
- POST로 전달받은 data는 requestHandler 외부에 위치해야 매번 실행될 때 마다 초기화 되는 것을 막을 수 있다.
const message = [];
const server = http.createServer(requestHandler)
//requestHandler는 (req, res)로 구성된 함수이름
- HTTP method 의 response.end() 인자는 JSON 된 데이터만 받을 수 있다.
response.end(JSON.stringify(message));
- require로 받아온 외부 파일 변수에도 내용 변경이 가능하다. data를 저장하는 공간인 message를 외부파일에 두고, requestHandler 함수를 통해서 POST / GET을 통해 message에 data를 push 할 수 있다.
추가로 구현하고 싶은 것 : roomname 에 따라 URL 의 path가 바뀌고, roomname에 맞는 데이터가 저장되는 것을 구현하고 싶다.
더보기
과제 하면서 : mini server 에서 8시간을 헤매었고, 오늘 chatter server 구축하는 데 8시간을 할애했다. 코로나바이러스때문에 집 문 밖으로 한 발자국도 안 나갔기 때문이다. server는 보이지 않는 부분을 다루는 것이라 client부분을 만드는 것보다 어려웠다. 프리코스 처음 시작할 때의 절망감을 다시 느꼈다. 어쨌든 레퍼런스 안보고 끝까지 포기하지 않고 해내서 뿌듯..!
반응형
'2. 우당탕탕 개발자 > 2-1. 공부기록' 카테고리의 다른 글
09Feb2020 TIL (0) | 2020.02.09 |
---|---|
06Feb2020 TIL (0) | 2020.02.06 |
30Jan2020 TIL (0) | 2020.01.31 |
29Jan2020 TIL (0) | 2020.01.30 |
28Jan2020 TIL (0) | 2020.01.29 |
댓글