728x90
Node JS콘솔에서의 입력값
var args = process.argv;
배열로 반환. [0] : node.js 런타임 위치 [1] : 현재 실행시키고 있는 폴더 위치 [2] ~ : 매개변수
순서대로 출력
Not found 구현
var queryData = url.parse(_url, true) > url 정보 반환 (json형태)
pathname : 쿼리 스트링 제외한 값
response.writeHead(200); // 웹 브라우저가 웹 서버에 접속 했을 때 접속에 대한 응답이 필요. 200이라는 숫자를 서버에서 브라우저로 전송하면 정상적으로 수행 했다는 뜻. <-> 404
역시 모든 건 연결 되어 있구먼
홈페이지 구현
var http = require('http');
var fs = require('fs');
var url = require('url');
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
var pathName = url.parse(_url, true).pathname;
var title = queryData.id;
var template;
if(pathName === '/') {
if(title === undefined) {
title = 'Welcome';
var description = 'hello node.js';
template = `
<!doctype html>
<html>
<head>
<title>WELCOME</title>
<meta charset="utf-8">
</head>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
<li><a href="/?id=HTML">HTML</a></li>
<li><a href="/?id=CSS">CSS</a></li>
<li><a href="/?id=JavaScript">JavaScript</a></li>
</ol>
<h2>${title}</h2>
<p>${description}</p>
</body>
</html>
`;
response.writeHead(200);
response.end(template);
}else {
fs.readFile(`data/${title}.txt`, 'utf8', function(err, description) {
template = `
<!doctype html>
<html>
<head>
<title>WEB1 - ${title}</title>
<meta charset="utf-8">
</head>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
<li><a href="/?id=HTML">HTML</a></li>
<li><a href="/?id=CSS">CSS</a></li>
<li><a href="/?id=JavaScript">JavaScript</a></li>
</ol>
<h2>${title}</h2>
<p>${description}</p>
</body>
</html>
`;
response.writeHead(200);
response.end(template);
});
}
console.log(template);
}else {
response.writeHead(404);
response.end("Not Found");
}
});
app.listen(3000);
흠 반복되는 코드가 보기 싫어서
response.writeHead(2000); response.end(template);을 if-else문 밖으로 뺐는데 그러면 홈 페이지는 뜨는데 나머지 페이지들이 뜨지 않았다. reponse에 이유가 있나?
300x250
'JavaScript > Node.js' 카테고리의 다른 글
npm run dev 오류 (0) | 2020.08.13 |
---|---|
생활코딩 Node.js 패키지 매니저와 PM2 등등 (0) | 2020.04.14 |
생활코딩 Node.js 파일목록 알아내기 등등 (0) | 2020.04.13 |
생활코딩 Node.js URL, 동적인 웹 페이지 만들기, 파일 읽기 (0) | 2020.04.03 |
생활코딩 Node.js 수업 소개, 목적, 설치 (0) | 2020.04.02 |
댓글