Files

3.3 KiB
Raw Permalink Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5895f70bf9fc0f352b528e64 Використовуйте можливості шаблонного рушія 2 301567 use-a-template-engines-powers

--description--

Одна з головних переваг використання шаблонного рушія це можливість передавати змінні з сервера в файл шаблону перед його візуалізацією в HTML.

У вашому файлі Pug ви можете використовувати змінну, посилаючись на ім'я змінної як #{variable_name} в рядку з іншим текстом в елементі або використовуючи знак рівності в елементі без пробілу, наприклад, p=variable_name, що присвоює значення змінної тексту елемента p.

Ми рекомендуємо вивчити синтаксис і структуру Pug тут у README GitHub. Файл Pug націлений на використання прогалин і вкладок для зображення гніздових елементів і скорочення обсягу коду, необхідного для створення красивого сайту.

Коли йдеться про наш файл pug «index.pug», включений у ваш проєкт, ми використовували змінні title і message.

Щоб передати їх з нашого сервера, вам потрібно буде додати об'єкт як другий аргумент у ваш res.render зі змінними та їх значеннями. Наприклад, передайте цьому об'єкту установку змінних для індексного перегляду: {title: 'Hello', message: 'Please login'}

Це має мати наступний вигляд: res.render(process.cwd() + '/views/pug/index', {title: 'Hello', message: 'Please login'}); Тепер оновіть свою сторінку. Під час перегляду ви повинні побачити ці значення у потрібному місці, як зазначено у файлі index.pug!

Якщо вам вдалося, запустіть сторінку. Якщо ви зіткнулися з помилками, можете перевірити завершений до цього етапу проєкт тут.

--hints--

Файл Pug повинен правильно відображати змінні.

(getUserInput) =>
  $.get(getUserInput('url') + '/').then(
    (data) => {
      assert.match(
        data,
        /pug-variable("|')>Please login/gi,
        'Your projects home page should now be rendered by pug with the projects .pug file unaltered'
      );
    },
    (xhr) => {
      throw new Error(xhr.statusText);
    }
  );

--solutions--

/**
  Backend challenges don't need solutions, 
  because they would need to be tested against a full working project. 
  Please check our contributing guidelines to learn more.
*/