Node.js의 express 모듈
GET으로 데이터 요청하기
객체와 json
express : http모듈처럼 node 환경에서 웹 서버의 기능을 제공하는 웹 서버 '프레임워크'입니다.
설치 : npm 사이트에서 express 검색시 나오는 'exact match'가 붙어있는 게시글에서 install 명령어와 기능, 사용법 확인이 가능합니다.
install > npm i express (터미널에 입력)
※ 설치 후 오류
[MODULE_NOT_FOUND] cannot find module express : 말 그대로 모듈을 찾을 수 없다는 뜻 입니다. npm 버전, 파일이 존재하지 않음, 경로 이상 등이 원인이 될 수 있다고 합니다. 해결방법 : 다음과 같은 방법 시도 중 해결되었습니다.node_modules 폴더, package-lock.json, package.json) 후 다시 express 설치❗ 위 과정에서의 문제점 : package.json 파일은 삭제하면 프로젝트에 사용한 의존성 모듈 목록이 삭제됩니다(필요한 모듈 확인 불가).. , 다행이 배우는 단계라 진행중인 프로젝트가 없어서 다행이지만.
📁 혹시라도 삭제할 경우 : 일반적으로 프로젝트 진행시 git을 사용하여 버전관리를 진행중일 것 입니다. git checkout package.json으로 마지막 커밋 상태로 복구하고 npm install을 입력하여 (package.json에 있는)모듈과 의존성들을 복구합니다.
get 메소드로 API를 만들고 호출하기
const express = require('express') //express 모듈을 불러옵니다.
const app = express() // express를 app에 저장합니다.
app.get('/', function (req, res) { //get으로 요청, req:요청시의 정보가 담김. res:서버에서 전송하는 정보가 담김.
res.send('Hello World') // send: 메시지 전송
})
app.listen(7777) // 7777번 포트 사용.
// API : GET + "http://localhost:7777/______"
=> get 메소드로 ' /' 의 url을 요청하면 req, res 를 매개변수로 받은 (익명, 콜백)함수를 호출하겠다. 라는 것
객체(object) : 사람, 사물 같이 세상에 존재하는, 식별할 수 있는 모든 것을 객체라고 할 수 있습니다.
객체를 추상적이라고 하는데, 자료형이 정해져 있지 않고 다양한 자료형의 데이터를 담을 수 있습니다.
객체 생성 방법
1)
객체 생성후 속성 추가
let obj = new Object(); // 객체 생성 * Object에서 O는 대문자로 적어야합니다.
obj.country = "korea"; //객체에 데이터 입력
obj.money = 10000 // 키 : 값 // 키는 문자형을 사용합니다. 값은 모든 자료형이 가능합니다.
// obj는 객체, money는 키, 10000은 값 입니다.
// obj.money는 객체obj 의 속성(property)라고 합니다.
2)
중괄호 {} 사용 = 객체 리터럴
let obj = { // 객체를 생성하고 {} 안에 속성( 키 : 값 ) 을 추가합니다.
country : 'korea', // 속성은 '키 : 값'으로 구성되어 있습니다.
money : 30000, // 속성 사이에는 ,(쉼표)를 사용합니다.
};
obj.book = 'booook'; // 객체.속성명 = 값; 으로 객체에 속성 추가가 가능합니다.
delete obj.money; // 객체의 속성을 삭제합니다.
obj.country = 'southKorea'; // 속성 country의 값을 southKorea로 수정합니다.
객체 구조
const cup = {
drink : function(spe) { // 객체의 내부에서 정의된 함수입니다.
return `${spe}로 물을 마십니다.`; // 메소드 = 객체의 행동을 정의
}
//=============================================
size : 'M', // 객체의 행동이 아닌 특징을 정의합니다.
price : 3000, // 속성 = 객체의 정보
}
console.log(cup.drink('mug');
=> mug로 물을 마십니다.
const 객체
javascript 변수를 배울 때 let은 값을 변경이 가능하지만. const는 값 변경이 안된다고 했습니다.
그러면 const로 객체를 만들면 값이 변경 할 수 있는지에 대해서는 다음과 같습니다.
let A = 1; 일 때 A에 1을 대입하는데, 이때 1은 A라는 문자가 아니라 변수 A가 가르키는 메모리 주소에 저장이 됩니다.const C = {country : 'korea', population : 40000000}; 와 같이 객체일 경우 C는 메모리의 주소를 '참조'하고 있습니다. const로 인해서 '참조'하고 있는 주소값의 변경은 불가능하지만, 객체 내부의 값들은 참조하고 있는 '주소'를 가르키며 때문에 객체의 속성 값들은 변경이 가능합니다.ex) 아파트에서 주소는 고정이지만. 각 호수에 사는 사람들이 바뀌고 인테리어 공사는 가능한?
javascript object notation : 자바스크립트 객체 문법
netstat -ano | findstr :(포트번호) - 해당 포트번호를 사용중인 프로세스 ID(PID)를 탐색합니다.TCP 127.0.0.1:(포트번호) 0.0.0.0:0 LISTENING 4812 - 4812 이 숫자가 PID 입니다.taskkill /PID 4812 /F - PID 강제종료learned : nodejs의 expres 모듈과 get메소드를 사용한 api 통신방법에 대해 학습하였습니다.
liked : 여기저기서 조금씩 학습하고 조각조각 있던 지식들이 조금은 도움이 되었고 서로 어떤식으로 연결이 되고 사용이 되는지 알 수 있었습니다.
lacked : package.json을 삭제하면 안되는 줄 모르고 함부로 삭제했는데. 지금 단계에서 알게되어서 다행이라고 생각합니다.
longed for : 지금까지 배운것을 다시 한번 돌아보고, get이외의 메소드들도 사용해보고, sql 연동?도 학습하여 어떤식으로 웹서버의 기능을 만들 수 있는지에 대해 알아보려고 합니다.