nugawiki

./categories/back-end

Express EJS 템플릿

업데이트 2026-07-21 조회수

package.json

npm install
{
  "name": "express-tutorial",
  "version": "1.0.0",
  "dependencies": {
    "express": "~4.13.1",
    "ejs": "~2.4.1",
    "body-parser": "~1.14.2",
    "express-session": "~1.13.0"
  }
}

server.js

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var session = require('express-session');
var fs = require("fs");

app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);

app.listen(3000);

app.use(express.static('public'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(session({
  secret: 'CHANGE_ME',
  resave: false,
  saveUninitialized: true
}));

require('./router/main')(app, fs);

router / view

// router/main.js
module.exports = function(app, fs) {
  app.get('/', function(req, res){
    res.render('index', { title: "MY HOMEPAGE", length: 5 });
  });
};
<%-- views/index.ejs --%>
<html>
  <head><% include ./header.ejs %></head>
  <body><% include ./body.ejs %></body>
</html>
<%-- views/body.ejs --%>
<h1>Loop it!</h1>
<ul>
  <% for(var i=0; i<length; i++){ %>
    <li><%= "LOOP" + i %></li>
  <% } %>
</ul>
node server.js

./comments