웹 사이트에 접속하기 위하여 URL 주소를 접속하게 되는데
그런 접속 주소에 따라 서버가 어떤 반응을 할지 정하는 것이다.
예를 들어 http://localhost:3000/ 이라는 주소로 접속을 하게되면
"http://localhost:3000"까지가 서버를 접속하기 위한 주소이고 '/' 부터는 서버내에서
어떤 파일을 사용자가 원하는지에 대한 내용이다.
그리고 '/'의 경우 전통적으로 가장 최상단에 기본 파일을 말한다.
대부분. index.html, main.html, default.html 와 같이 특정단어 + 확장자 파일을 불러오게 된다.
여기서 URL 라우팅은 / 뒤로 오는 주소에 따라 서버에 어떤 파일을 사용자한테 제공할지 정하는것을 말한다.
File : app.js
var express = require('express')
var app = express()
app.listen(3000, function(){
console.log("Start, ! express server on port 3000 !!")
});
app.get('/', function(req, res ){
res.send("<h1>hi friend!</h1>")
})
위와 같은 방식으로 app.js를 입력하고 nodemon app.js 명령어를 사용하여 서버를 실행시키면 아래와 같은 화면을 볼수있다.
사용자가 / 이라는 최상단 주소를 입력했을때 html 로된 텍스트를 제공하는 것이다.
물론 이런 텍스트 방식이 아닌 특정 html 파일을 제공할 수도 있다 .
아래와 같은 방식을 사용한다.
File : app.js
var express = require('express')
var app = express()
app.listen(3000, function(){
console.log("Start, ! express server on port 3000 !!")
});
app.get('/', function(req, res ){
//res.send("<h1>hi friend!</h1>")
res.sendFile(__dirname + "/public/main.html")
})
여기서 __dirname는 node에서 제공하는 경로제공 명령어 이다.
현재 해당 명령어를 실행하는 폴더경로를 제공하고 거기에 소스내에 있는 경로를 추가하면
특정 html 파일을 제공할수 있다.
현재 프로젝트의 폴더구조는 아래와 같다 .
그리고 이제 제공할 html 파일의 내용을 채운다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="decription" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>main.html</title>
</head>
<body>
<h1>main page</h1>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ab sunt vitae cupiditate quibusdam iste sapiente perspiciatis dolor, illo, mollitia doloribus vel voluptate. Placeat laboriosam mollitia laudantium facilis quidem! Molestiae, tenetur.</p>
</body>
</html>
간단하게 로렘 입숨을 사용하여 html 내용을 넣고 asp.js 를 실행한다.
명령어 : nodemon app.js
그 뒤 서버를 접속해보면 아래와 같이 나온다.
'프로그래밍 > node' 카테고리의 다른 글
node.js #1 (0) | 2020.07.05 |
---|
댓글