서버는 우리의 컴퓨터 내에 있는 파일을 절대로 스스로 찾아서 읽어들일 수가 없다.
따라서 우리가 직접 경로를 만들어주고 파일을 찾아서 서버에서 읽어들일 수 있게 해줘야 하는 것이다.
이러한 방법을 익스프레스를 통해 경로를 지정해줄 수 있다.
const express= require('express');
const path = require('path');
1. 경로 패키지 저장= 모든 폴더의 경로를 쉽게 지정해줌
require: 패키지를 불러들일 수 있는 라이브러리
express 패키지를 불러들이고 경로를 쉽게 저장해주기 위해 path 패키지를 가져온 것
const app=express();
2. express는 함수로 호출이 될 수 있다.
따라서 express를 호출해준다.
app.get('/', function(req,res) {
const htmlFilePath = path.join(__dirname, 'file','index.html');
res.sendFile(htmlFilePath);
});
3. app.get을 통해 경로 만들어줌
하나의 라우트(= 경로) 하나 이상의 경로를 만들어준다.
우리는 익스프레스를 통해 경로를 지정해주는 것이다!
우리는 이러한 경로를 통해 요청 객체와 응답 객체를 수신할 수 있다.
path.join: 디렉토리의 절대 경로가 들어가야 한다.
__dirname: html 파일에 대한 경로 구축
__dirname, 폴더명, 파일명
이 코드는 localhost:3000이라는 서버에 접속하면, file이라는 폴더 안에 있는 index.html 이라는 파일을 전송한다.
따라서 다른 경로를 통해 다른 html 파일을 전송하고 싶으면 다른 경로를 따로 지정해줘야 한다.
app.get('/hihilong',function(req,res) {
const htmlFilePath = path.join(__dirname, 'file', 'hihilong.html');
res.sendFile(htmlFilePath)
});
4. 위에서와 똑같은 코드이다.
이제 localhost:3000/hihilong 이라는 서버에 접속하면 hihilong.html 이라는 파일을 전송해 줄 것이다.
또한 const 를 통해 함수 내에서 상수를 결정했기 때문에 위에서 똑같은 이름으로 상수를 결정해도 아~무 문제 없당
app.listen(3000);
5.listen: 특정 포트에서 들어오는 네트워크 트래픽에 대해 들어오는 요청의 수신을 시작할 수 있당
이 포트의 이름을 상수로 따로 지정해 줄수도 있다~~
//terminal
node app.js
6. 터미널에서 node <js파일 이름>.js
를 입력하여 node js 를 통해 서버를 구축하도록 한다
그리고 브라우저에서 localhost:3000을 입력하면 정상적으로 서버에 접속할 수 있당