J1Yun
ZU-TECHLOG
J1Yun
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ“‘ Category (135)
    • Algorithm (61)
      • ๐Ÿ“š Concept (6)
      • ๐Ÿ“˜ Baekjoon Judge (53)
      • ๐Ÿ“— Programmers (2)
    • Computer Science (42)
      • ๐Ÿ”’ Operating System (14)
      • ๐Ÿ“ก Network (15)
      • ๐Ÿ’พ Database (8)
      • ๐Ÿงฉ Design Pattern (4)
      • ๐Ÿ”‘ Security (1)
    • Activities (12)
      • ๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ (6)
      • ๐Ÿ’ป SW๋งˆ์—์ŠคํŠธ๋กœ 13๊ธฐ (6)
    • Infra (1)
      • โ˜๏ธ AWS (1)
    • Languages (1)
      • ๐Ÿ’™ Python (1)
    • Backend (7)
      • ๐Ÿ”ต Django (4)
      • ๐ŸŸข Node.js (3)
    • Ect. (8)
      • ๐Ÿ’ฌ Talk (0)
      • ๐Ÿ—‚๏ธ ๊ฐœ๋ฐœ์ง๊ตฐ ์ทจ์—… ์ค€๋น„์ž๋ฃŒ (8)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
J1Yun

ZU-TECHLOG

[Node.js] Express ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉํ•˜๊ธฐ - ์„œ๋ฒ„ ๊ตฌ์ถ•, ์ •์  ํŒŒ์ผ, ํ…œํ”Œ๋ฆฟ ์—”์ง„
Backend/๐ŸŸข Node.js

[Node.js] Express ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉํ•˜๊ธฐ - ์„œ๋ฒ„ ๊ตฌ์ถ•, ์ •์  ํŒŒ์ผ, ํ…œํ”Œ๋ฆฟ ์—”์ง„

728x90

1. Express ์†Œ๊ฐœ

Express๋Š” Node.js ๊ธฐ๋ฐ˜์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด Node.js๋ณด๋‹ค ๊ฐœ์„ ๋˜์–ด ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋น ๋ฅด๊ณ  ๊ฐ„๊ฒฐํ•˜๊ณ  ์œ ์—ฐํ•˜๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ž์œ ๋กญ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋งŽ์€ HTTP ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์†Œ๋“œ ๋ฐ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ํ†ตํ•ด ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฐ•๋ ฅํ•œ API๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

2. Expresss ์„ค์น˜

$ npm init
$ npm install --save express

 

3. Express ์„œ๋ฒ„ ๊ตฌ์ถ•

  • app.js
var express = require('express');
var app = express();

// router
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!');
});
  • router : ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ๊ณผ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์ธ controller์„ ์ค‘๊ณ„ํ•ด์ฃผ๋Š” ์—ญํ• 

์ถœ์ฒ˜: ์ƒํ™œ์ฝ”๋”ฉ

 

4. ์ •์  ํŒŒ์ผ ์„œ๋น„์Šค

  • ์ •์  ํŒŒ์ผ: image, js, css์™€ ๊ฐ™์ด ์ง์ ‘ ๋ณ€ํ™”๋ฅผ ์ฃผ์ง€ ์•Š๋Š” ์ด์ƒ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ
  • public ํด๋”์— ์ •์  ํŒŒ์ผ ์ €์žฅ ex) img.png
  • app.js
app.use(express.static('public'));

app.get('/image', function(req, res) {
    res.send('THis is image, <img src="/img.png>');
});

 

5. ํ…œํ”Œ๋ฆฟ ์—”์ง„

  • ๋™์  ํŒŒ์ผ๊ณผ ์ •์  ํŒŒ์ผ์˜ ์žฅ๋‹จ์ ์„ ๊ฒฐํ•ฉํ•œ ์ƒˆ๋กœ์šด ์ฒด๊ณ„
  • ๋™์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ •์ ํŒŒ์ผ์— ๋‹ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
  • jade, pug, ejs ๋“ฑ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜

 

jade

& npm install jade --save
  • app.js
app.set(view engine', 'jade');
app.set('views','./views'); // views ํด๋” ์ƒ์„ฑ ํ•„์ˆ˜

app.get('/template', function(req, res) {
    res.render('example'); // example.jade
});
  • ๋ฌธ๋ฒ• example.jade
html
    head
    body
        h1 Hello Jade
        ul
            -for(var i=0; i<5; i++)
                li coding

    ์ด๋Š” ์•„๋ž˜ html์ฝ”๋“œ์™€ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

<html>
	<head></head>
    <body>
    	<h1>Hello Jade</h1>
        <ul>
        	<li>coding</li>
            <li>coding</li>
            <li>coding</li>
            <li>coding</li>
            <li>coding</li>
        </ul>
    </body>
</html>
728x90

'Backend > ๐ŸŸข Node.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Node.js] ์›น ์„œ๋ฒ„ ๋ชจ๋“ˆ ๊ด€๋ฆฌํ•˜๊ธฐ - NPM  (0) 2021.09.05
[Node.js] ์›น ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - ๊ธฐ์ดˆ  (0) 2021.09.05
    'Backend/๐ŸŸข Node.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€์ด๋‹ค
    • [Node.js] ์›น ์„œ๋ฒ„ ๋ชจ๋“ˆ ๊ด€๋ฆฌํ•˜๊ธฐ - NPM
    • [Node.js] ์›น ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - ๊ธฐ์ดˆ
    J1Yun
    J1Yun
    ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ์ˆ  ๋ฐ ๊ณต๋ถ€ ๋‚ด์šฉ ๊ธฐ๋ก์žฅ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”