Доброго дня всем. Есть сайт на ноде + express js. По стандарту есть index.js в routes, и есть шаблон для вывода страниц типовых.
В шаблоне в head следующая конструкция:
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="<%= locals.meta_description %>">
<title><%= locals.title %></title>
<link rel="canonical" href="https://www.site<%= locals.canonical_link %>">
В индексе для каждой страницы прописываются свойства:
router.get('/page-1', function (req, res) {
res.render('page-template', {
layout: 'layout',
title: 'Title1',
template: 'page',
canonical_link: '/page-1',
meta_description: 'Descr-1'
});
});
Если не указать в роуте canonical_link: '/page-1', то вылезает ошибка. Собственно вопрос - как правильно сделать проверку на наличие свойства canonical_link в роуте для конкретной страницы, и если свойство есть, то выводить строку при рендере нормально, а если такого свойства нет, то вообще не выводить в head строку
<link rel="canonical" href="https.....>.
Пробовал проверки на udefined и obj?.prop, но что-то не выходит вообще, видимо проблемы с пониманием работы этих методов.
За кусок кода вообще благодарен буду, тысяча лайков, отметки о решении и прочие возможные плюшки)
Актуально