1) 코드 작성
- app.js -
const http = require('http');
function handleRequest(request, response) {
response.statusCode = 200;
response.end('<h1>Hello world!</h1>');
}
const server = http.createServer(handleRequest);
server.listen(3000);
2) vscode에서 새 터미널을 열어 node app.js
입력 => 커멘드의 실행이 끝나지 않았으면 성공(서버가 실행되고 있는 것)
서버종료는 터미널에 커서를 둔 상태로 ctrl + c
입력
*이떄 경로의 문제로 app.js파일이 실행되지 않을 수 있으니 주의!
3) http://localhost:3000/ 접속
=> 작성한 h1태그로 응답하는것을 확인가능.(그 외 html골격요소는 자동)
url마다 다른 페이지 로드하기
1) 코드 작성
- app.js -
const http = require('http');
function handleRequest(request, response) {
if (request.url === '/currenttime') {
response.statusCode = 200;
response.end('<h1>' + new Date().toISOString() + '</h1>');
} else if (request.url === '/') {
response.statusCode = 200;
response.end('<h1>Hello world!</h1>');
}
}
const server = http.createServer(handleRequest);
server.listen(3000);
http://localhost:3000/ 접속 시 1번 실습과 동일한 결과가 나옴.
http://localhost:3000/currenttime 접속 시 아래처럼 현재 시간을 동적으로 받아 결과를 보여줌.
터미널에 npm install express
입력
추후 프로젝트 폴더를 공유할땐 생성된 node_modules
폴더는 제외됨.(install시 자동으로 다운받을 수 있기 때문)
nodejs로 실행했던 실습 그대로 express로 실행하기
- app.js -
const express = require('express');
const app = express();
app.get('/currenttime', function (req, res) {
res.send('<h1>' + new Date().toISOString() + '</h1>');
}); // localhost:3000/currenttime
app.get('/', function (req, res) {
res.send('<h1>Hello world!</h1>');
}); // localhost:3000/
app.listen(3000);
실행은 동일하게 터미널에 node app.js
입력.(종료도 동일)
서버 실행 시 참고
서버실행 후 코드를 변경하였다면 변경한 코드를 적용하기 위해서 서버를 재실행해야한다.
재실행하지 않을 경우 서버를 실행했던 코드를 바탕으로 브라우저만 새로고침 되니 주의.
코드를 수정할 때마다 매번 서버를 재시작해줘야하는 번거로움을 해결하기 위해 사용하는 패키지.
터미널에 npm install nodemon --save-dev
입력하여 패키지 설치.
참고로 --save-dev
는 개발중에 사용하는 패키지임을 알리기 위해 더하는 키워드임
설치이후에는 nodemon을 통해 서버를 시작함.
- pakage.json -
~생략~
"scripts": {
"start": "nodemon app.js"
},
~생략~
수정 후 터미널에 npm start
입력
터미널에서 nodemon에 의해 서버가 실행되었음을 확인가능.
=> 이후 코드 수정 시 브라우저만 새로고침하면 수정된 사항이 바로 반영됨.