Tip

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 ์—ฐ์Šตํ•ด๋ณด๊ธฐ

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);
});

set cookie

app.use(cookieParser());
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');
};

mixin

views/editStore.pug

extends layout

include mixins/_storeForm

block content
  .innder
    h2= title
    +storeForm({name: 'Tim Hortons'})

mixin/_storeForm.pug

mixin storeForm(store = {})
  p It works! #{store.name}

Last updated

Was this helpful?