JAVASCRIPT
자바 스크립트는 설치 없이 가능했던 이유?
- 브라우저에 자체에서 실행이 가능했던 것
- 그런데, 이걸 내 컴퓨터 혹은 서버에서 돌리는 경우 node.js를 설치해야 자바스크립트 실행 가능
NPM
- npm(node package manager)
- 필요한 패키지가 있으면, npm에서 가져와서 쓰면 된다.
npm install 패키지명
npm uninstall 패키지명
- Install 하면 package.json, package-lock.json에 입력된다.
- package.json : 대략적인 내용 기록
- dependencies에서 설치된 패키지 확인 가능
- package-lock.json : 상세 내용 기록
- node.modules : 설치한 모듈들이 전부 저장
Express
- Express는 웹 프레임워크
npm install express
- 설치
const express = require('express')
const app = express()
const port = 3000
- express 임포트
- app 상수 위에 express()
- 포트는 3000으로 지정(아무거나 상관 없음)
app.get('/', (req, res) => {
res.send('Hello World')
})
- get : http 메소드
- get : 주소창에서 데이터 전달
- post : 주소창 X, 내부적으로 body에 담아서 저장
- '/' : 라우팅
- 슬래시만 사용했을 때는 기본 주소
- 이후 슬래시(/) 붙여서 추가 가능
- (req, res) : 인자
- => {res.send('Hello World')}) : 콜백 함수
- get 함수 실행 이후에 실행되는 함수
- SetTimeout() => {console.log('5초 지남')}, 5000}
app.get('/sound/:name', (req, res) => {
const { name } = req.params
console.log(name)
if(name == "dog") {
res.json({'sound' : '멍멍'})
} else if(name == "cat") {
res.json({'sound' : '야옹'})
} else if(name == 'pig') {
res.json({'sound' : '꿀꿀'})
} else {
res.json({'sound' : '알 수 없음'})
}
})
- /sound/:name : ':' 사용으로 라우터 주소를 동적으로 받아서 처리함
- const { name } = req.params : request에서 주어진 params를 name이라는 변수에 바로 넣음
- 만약 name이 ~일 때 : responds는 json 값으로 반환
app.listen(port, () => {
console.log(`listening on port ${port}`)
})
- 특정 포트 번호에 대해서 app이 요청 대기중(listen)
- ` 랑 $ 같이 쓰면 문자열 포맷팅 가능
'웹 애플리케이션' 카테고리의 다른 글
5. HTTP 웹 기본 지식 - DNS (0) | 2023.10.13 |
---|---|
4. HTTP 웹 기본 지식 - PORT (0) | 2023.10.13 |
3. HTTP 웹 기본 지식 - TCP, UDP (0) | 2023.10.13 |
2. HTTP 웹 기본 지식 - 인터넷 통신(IP) (0) | 2023.10.13 |
1. HTTP 웹 기본 지식 (0) | 2023.10.13 |