helper.js๋ฅผ ์ฐ๊ฒฐํ๊ฑด app.js์์ ์ผ์ด๋ ์ผ์ด๋ค.
app.use((req, res, next) => {
res.locals.h = helpers;
res.locals.flashes = req.flash();
res.locals.user = req.user || null;
res.locals.currentPath = req.path;
next();
});
router.get('/', (req, res) => {
const wes = { name: 'wes', age: 100, cool: true};
// res.send('Hey! It works!');
// res.json(wes);
// res.send(req.query.name);
// app์ 26๋ฒ์งธ 27๋ฒ์งธ ์ค๊ณผ ๊ด๋ จ์๋ค.
// res.json(req.query);
// 1. it needs a name of a template to render out.
// App์ 20๋ฒ์งธ 21๋ฒ์งธ ์ค ๋๋ฌธ์ ๊ฐ๋ฅํ๋ค.
res.render('hello', {
name: 'wes',
dog: req.query.dog,
title: 'I love food',
});
});
router.get('/reverse/:name', (req, res) => {
// res.send('it works!');
// res.send(req.params.name);
const reverse = [...req.params.name].reverse().join('');
res.send(reverse);
});
exports.myMiddleware = (req, res, next) => {
req.name = 'Wes';
res.cookie('name', 'Wes is cool', { maxAge: 9000000 });
next();
};
exports.homePage = (req, res) => {
console.log(req.name);
res.render('index');
};
extends layout
include mixins/_storeForm
block content
.innder
h2= title
+storeForm({name: 'Tim Hortons'})
mixin storeForm(store = {})
p It works! #{store.name}