ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ


์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์ •์  ํŒŒ์ผ์„œ๋น„์Šค๋ฅผ ๋ฐฐ์›Œ๋ณด์•˜๋Š”๋ฐ ์ •์ ์ด ์žˆ์œผ๋ฉด ๋น„๊ต๋Œ€์ƒ์ธ ๋™์ ์ด๋ผ๋Š” ๊ฐœ๋…๋„ ๋Š˜ ์กด์žฌํ•˜๊ธฐ ๋งˆ๋ จ์ด๋‹ค.


์ •์  ํŒŒ์ผ์„œ๋น„์Šค๋Š” public์ด๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ์ด๋ฏธ์ง€ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ html์†Œ์Šค๋ฅผ ์ž‘์„ฑํ•˜์—ฌ 


1
2
3
4
5
6
var express = require('express');
var app = express();
app.use(express.static('public'));
app.get('/',function(req,res) {
    res.send('Hello World');
});
cs

์ด์™€ ๊ฐ™์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์—์„œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ํ˜•์‹์„ ๋ˆ๋‹ค. localhost:ํฌํŠธ๋ฒˆํ˜ธ ๋’ค์— public ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ์ด๋ฆ„์„ ๋„ฃ์œผ๋ฉด ํ•ด๋‹น ํŒŒ์ผ์„ ์›น์—์„œ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ๋™์ ํŒŒ์ผ์„œ๋น„์Šค๋ผ๋Š” ๊ฒƒ์€??


์–˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•ˆ์— html ์ฝ”๋“œ๋ฅผ ์จ์ฃผ๊ฒŒ ๋œ๋‹ค. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
app.get('/dynamic',function(req,res) {
    var output = `
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset = "utf-8" />
            <title></title>
        </head>
        <body>
            Hello, Dynamic!!!!!
        </body>
    </html>
    `
    res.send(output);
})
 
cs


์ด์™€๊ฐ™์€ ํ˜•์‹์ด๋‹ค. localhost:ํฌํŠธ๋ฒˆํ˜ธ/dynamic ์˜ ๊ฒฝ๋กœ๋กœ ์ ‘์†ํ•˜๊ฒŒ๋˜๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ์•ˆ์—์„œ ์ž‘์„ฑํ•œ html ์ฝ”๋“œ ๋‚ด์šฉ์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿผ ๋‘ ๋ฐฉ์‹์˜ ์ฐจ์ด์ ์ด ์ผ๋‹จ ์™ธ๊ด€์ƒ์œผ๋กœ๋„ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค.


๊ธฐ๋ณธ์ ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์†Œ์Šค์ฝ”๋“œ (์„œ๋ฒ„๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฉ”์ธํŒŒ์ผ) ๊ฐ€ ์ˆ˜์ • ๋์„ ๋•Œ์—๋Š” ์„œ๋ฒ„ ๊ตฌ๋™์„ ์œ„ํ•ด์„  ์žฌ ์‹คํ–‰์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด html ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๋ ค ํ•  ๋•Œ ๋‘ ๋ฐฉ์‹์˜ ์ฐจ์ด์ ์ด ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค.



์ •์ ํŒŒ์ผ ์„œ๋น„์Šค - htmlํŒŒ์ผ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ํ•ด๋‹น htmlํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ํ›„ ์ €์žฅํ•˜๋ฉด ์„œ๋ฒ„ ์žฌ๊ตฌ๋™์—†์ด ์ƒˆ๋กœ๊ณ ์นจ ์‹œ์— ๋ฐ”๋กœ ๋ฐ˜์˜๋จ.

๋™์ ํŒŒ์ผ ์„œ๋น„์Šค - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด ์ˆ˜์ • ๋๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—ฐ๊ฒฐ์„ ๋Š์€ ํ›„ ๋‹ค์‹œ ์žฌ ๊ตฌ๋™ ์‹œ์ผœ์•ผํ•จ.


๊ทธ๋Ÿผ ๋ˆ„๊ฐ€ ๋™์ ํŒŒ์ผ ์„œ๋น„์Šค๋ฅผ ์“ฐ๊ฒ ๋‚˜? ์†Œ์Šค์ฝ”๋“œ๋Š” ์—ญํ• ์—๋”ฐ๋ผ ๋ถ„๋ฆฌ๋˜๋Š”๊ฒŒ ์ข‹๊ณ  ์‹ฌ์ง€์–ด ์„œ๋ฒ„ ์žฌ ๊ตฌ๋™์„ ์•ˆ ํ•ด๋„ ๋œ๋‹ค๋Š”๋ฐ..?


---------------------------------------------------------------------------------------------------------------------


๊ฐ„๋‹จํ•œ ์˜ˆ๋กœ html ์ฝ”๋“œ ์•ˆ์— hello ๋ผ๋Š” ๋ฌธ์žฅ์„ 100๋ฒˆ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ญ˜๊นŒ ์ƒ๊ฐํ•ด๋ณด์ž๋ฉด html์—์„  ๊ทธ๋ƒฅ 100๋ฒˆ ๋ณต๋ถ™ํ•˜๋ฉด ๋˜๊ฒ ์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„  ๋ฐ˜๋ณต๋ฌธ ๋ฌธ๋ฒ•์ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.


์ •์ ํŒŒ์ผ ์„œ๋น„์Šค ํ˜•์‹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
<head>
    <meta charset = "utf-8" />
    <title></title>
</head>
<body>
    Hello, Static
    <ul>
        <li>hello</li>
        <li>hello</li>
        <li>hello</li>
        <li>hello</li>
        <li>hello</li>
.....
    </ul>
</body>
</html>

cs

์ด๋Ÿฐ์‹์œผ๋กœ 100๋ฒˆ์ด๋ฉด 100๋ฒˆ์„ ์ €๋ž˜ ์จ์ค˜์•ผ ํ•  ๊ฒƒ์ด๋‹ค.



๋™์ ํŒŒ์ผ ์„œ๋น„์Šคํ˜•์‹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
app.get('/dynamic',function(req,res) {
    var lis = '';
    var time = Date();
    for(var i=0; i<100; i++) {
        lis = lis + '<li>hello</li>';
    }
    var output = `
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset = "utf-8" />
            <title></title>
        </head>
        <body>
            Hello, Dynamic!
            <ul>
                ${lis}
            </ul>
            ${time}
        </body>
    </html>
    `;
    res.send(output);
});
cs

์™€ ๊ฐ™์ด ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ html์•ˆ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋งŒ๋“  ๋ณ€์ˆ˜๊ฐ’์„ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ฝ”๋“œ๊ฐ€ ๋” ๊ฐ„๊ฒฐํ•ด์ง„๋‹ค.

๊ทธ ์ด์™ธ์— ์ˆœ์ˆ˜ html์—์„œ ์‚ฌ์šฉํ•  ์—†๋Š” ์‹œ์Šคํ…œ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.



๊ฒฐ๋ก ์ ์œผ๋กœ ๋ญ๊ฐ€ ์ข‹๋‹ค ๋‚˜์˜๋‹ค ํ•  ์ˆ˜ ์—†๋Š”๊ฒŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธํŒŒ์ผ ์•ˆ์— html ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ†ต์งธ๋กœ ์“ฐ๋Š” ๊ฒƒ๋„ ๋ณด๊ธฐ ์ข‹์€ ํ˜•์‹์€ ์•„๋‹ˆ๊ณ  ๊ทธ๋ ‡๋‹ค๊ณ  ์ˆœ์ˆ˜ html๋กœ๋งŒ ์ž‘์„ฑํ•˜๋Š” ๋ฐ์—๋„ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๋‘˜์˜ ์žฅ์ ๋งŒ์„ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•˜๋Š” ํ…œํ”Œ๋ฆฟ์—”์ง„์ด ์žˆ๋‹ค. 


๊ณผ๊ฑฐ์—๋Š” Jade๋ผ๊ณ  ๋ถˆ๋ ค์™”๋˜ ์—”์ง„์ธ๋ฐ ์ด๋ฆ„์ด Pug๋กœ ๋ฐ”๊ผˆ๋‹ค. ๋‹ค์Œ๋ฒˆ์—” ์ด ํ…œํ”Œ๋ฆฟ ์—”์ง„์„ ์ด์šฉํ•˜์—ฌ ์œ„์˜ ์žฅ์ ๋“ค๋งŒ ์ทจํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.





๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
๊ธ€ ๋ณด๊ด€ํ•จ