웹 프로젝트를 진행하던 중, html과 css , javascript를 이용해서 웹 호스팅을 하고자 하였다!
node.js를 이용해서 서버를 구축 중인데, 수강중이던 강의에서는 templete을 이용해 html 문서 내용을 구성하였어서 이미 만들어 놓은 웹 문서를 어떻게 호스팅 하는지 찾아보고 공유해보려 한다!
Node.js의 프레임워크인 express를 이용하여 구축 중인데, express의 기본 제공 미들웨어인 express.static을 이용하면 가능했다!
app.use(express.static('디렉토리 이름'))
app.get('/', function(req, res) {
res.sendFile(__dirname + "호스팅 하고자 하는 파일의 위치")
})
기본 path('/')에 대해서 get 요청이 들어왔을때 이를 처리하는 코드이다!
'/'위치로 웹 문서 요청이 들어왔을때, express app이 대상 디렉토리를 사용하여 static file을 전송할 수 있도록 하고, response로 해당 위치에 있는 특정 파일을 sendFile해주도록 해주었다!
하지만 밑의 res.sendFile(__dirname + "호스팅 하고자 하는 파일의 위치") 코드 같은 경우에는, 들어오는 요청이 app.use(express.static())으로 선언해준 위치의 파일 명과 일치하지 않기에,(예를 들어 '/'로 요청이 들어오면 main.html을 보내어 주어야할 때) 특정 파일을 send해주도록 한 것이고, 만약 request가 "127.0.0.1:3000/main.html"과 같이 app.use로 선언해둔 디렉토리 내의 특정 파일을 request했다면, res.sendFile을 해주지 않아도 호스팅이 된다!(직접 구축한 서버로 시험해본 결과)
다음 포스팅은 Node.js를 이용해서 SQL DB에 접근하고, 이를 이용해 서비스를 제공하는 방법에 대해서 올려보려한다!