๋๊ธฐํ ๋น๋๊ธฐํ
let fs = require('fs');
// Sync
console.log('1');
let data = fs.readFileSync('data.txt',{encoding:'utf8'});
console.log(data);
//Async
console.log('2');
fs.readFile('data.txt', {encoding:'utf8'}, function(err, data){
console.log('3');
console.log(data);
});
console.log('4');
Express
express๋ฅผ ์ค์นํ ํ!
let express = require('express');
let app = express();
app.get('/', function(req, res){
res.send('Hello home page');
});
app.get('/login', function(req, res){
res.send('Login please');
});
app.listen(3000, function(){
console.log('Connected 3000 port!');
});
์ด๋ ๊ฒ express๋ฅผ ์ฌ์ฉํ ์ ์๋ค
get์ ํตํด์ ๋ค์ด์จ ๊ฒฝ๋ก์ ๋ฐ๋ผ ๋ค๋ฅธ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค!
์ ์ ์ธ ํ์ผ ์๋น์คํ๋ ๋ฒ
let express = require('express');
let app = express();
app.use(express.static('public'));
app.get('/', function(req, res){
res.send('Hello home page');
});
app.get('/route', function(req, res){
res.send('Hello Router, <img src="/cat.jpg">');
});
app.get('/login', function(req, res){
res.send('Login please');
});
app.listen(3000, function(){
console.log('Connected 3000 port!');
});
์ ์ ์ธ ํ์ผ์ ์๋น์คํ๊ธฐ ์ํด์ ์ด๋ฐ ์ฝ๋๋ฅผ ํญ์ ์ฐ๊ณ public์ด๋ผ๋ ๋๋ ํ ๋ฆฌ ์์ ์ ์ ์ธ ํ์ผ์ ๊ฐ์ ธ๋ค ๋๋ฉด ๋๋ค
app.use(express.static('public'));
์นํ์ด์ง ํํํ๋ ๋ฒ
1. ์ ์ ์ธ ํ์ผ ์ ๋ฌ
public ๋๋ ํ ๋ฆฌ์ ์ด๋ฏธ์ง๋ html ์ ์ฅ ํ ์์ ๋ฐฉ๋ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค!
http://localhost:3000/static.html
์ด๋ฐ ์์ผ๋ก ์ ์ ์ธ ํ์ผ์ ์ ๊ทผํ ์ ์์!
(์ ์ ์ธ ํ์ผ์ ๋ณ๊ฒฝ๋๋ฉด ์๋ฒ๋ฅผ ๊ป๋ค ํฌ ํ์์์ด ๋ณ๊ฒฝ๋จ)
2. ๋์ ์ธ ํ์ผ ์ ๋ฌ
app.get('/dynamic', function(req, res){
let output = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Hello, Dynamic!
</body>
</html>`;
res.send(output);
})
์ด๋ ๊ฒ ๋์ ์ธ ํ์ผ์ ์ ๊ทผํ๊ณ ์๋น์คํ ์ ์๋ค
๋์ ์ธ ํ์ผ์ ์์ ํ ํ์๋ ์๋ฒ๋ฅผ ๊ป๋ค๊ฐ ์ผ์ผ ๋ฐ๋๋ค
app.get('/dynamic', function(req, res){
let lis = '';
for(let i=0;i<5;i++){
lis = lis + '<li>coding</li>';
}
let time = Date();
let output = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Hello, Dynamic!
<ul>
${lis}
</ul>
${time}
</body>
</html>`;
res.send(output);
})
์ด๋ฐ ์์ผ๋ก ์ฝ๋๋ฅผ ๋ฐ๋ณตํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค
์ ์ , ๋์ ์ธ ํ์ผ์ ์ฅ์ ๋ง ๋ชจ์ ๋ฐฉ๋ฒ -> ํ ํ๋ฆฟ ์์ง
๋จผ์ ์ค์น๋ฅผ ํด์ค๋ค! ๊ฐ์์์๋ npm install jade --save ๋ก ๋ค์ด๋ฐ์์ ๋๋ ๊ทธ๋ ๊ฒ ํด๋ณด์๋๋ฐ ์ค๋ฅ๊ฐ ๋์ ๊ตฌ๊ธ๋ง์ ํด๋ดค๋๋
ํ์ฌ๋ ์ด๋ฐ ์์ผ๋ก ์ค์นํด์ฃผ์ด์ผํ๋ค๊ณ ํ๋ค!! npm install pug --save
(์์ผ๋ก ๊ฐ์์์ ๋์ค๋ jade์ ๋ถ๋ถ์ผ๋ก ๋ชจ๋ pug๋ก ๋ฐ๊พธ์ด ์ฌ์ฉํ๋ฉด ๋จ!!)
let express = require('express');
let app = express();
app.set('view engine', 'pug');
app.set('views', './views');
app.get('/template', function(req, res){
res.render('temp');
});
ํ ํ๋ฆฟ ์์ง์ ์ฌ์ฉํ ๋
app.set('view engine', 'pug');
app.set('views', './views');
์ด ์ฝ๋๋ฅผ ํญ์ ์ฌ์ฉํ๊ณ pug ํ์ผ์ views๋ผ๋ ๋๋ ํ ๋ฆฌ ์์ ๋ง๋ค์ด์ฃผ๋ฉด ๋๋ค
app.get('/template', function(req, res){
res.render('temp');
});
ํญ์ ์ฌ์ฉํ๋ send๊ฐ ์๋ render๋ฅผ ์ฌ์ฉํด์ temp.pug ํ์ผ์ ๊ฐ์ ธ์จ๋ค
Jade ๋ฌธ๋ฒ
์ค๋ฐ๊ฟ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์๋ก์ด ํ๊ทธ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ์ค๋ฐ๊ฟ์ ํ ๋ ์ฃผ์ํด์ผ ํ๋ค!
app.get('/template', function(req, res){
res.render('temp', {time: Date(), _title:'Jade'});
});
pug ํ์ผ์ ๋ณ์์ ๊ฐ์ ๋ฐ์์ค๋ ค๋ฉด js ํ์ผ์์ ์์ ๊ฐ์ด { ๋ณ์๋ช : ํ ๋น ๊ฐ }์ผ๋ก ์ง์ ํด์ฃผ์ด์ผ ํ๋ค
[pug ํ์ผ]
html
head
title= _title
boby
h1 Hello Jade
ul
-for(let i=0; i<5;i++)
li coding
div= time
์ ์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ body ํ๊ทธ๊ฐ ๊ฒน์น๋คใ
ใ
'c o d i n g . . ๐ > Node.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ํ์ฝ๋ฉ] NodeJs ํ์ฉํ๊ธฐ(2) (0) | 2021.08.09 |
---|---|
[์ํ์ฝ๋ฉ] NodeJs ํ์ฉํ๊ธฐ(1) (0) | 2021.08.02 |
[์ํ์ฝ๋ฉ] Node.js ๋ฅผ ์ด์ฉํด ์น์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ(4) (0) | 2021.07.12 |
[์ํ์ฝ๋ฉ] Node.js ๋ฅผ ์ด์ฉํด ์น์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ(3) (0) | 2021.07.12 |
[์ํ์ฝ๋ฉ] Node.js ๋ฅผ ์ด์ฉํด ์น์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ(1) (0) | 2021.06.28 |