Задать вопрос
@ARTESS777

Почему не работают хелперы handlebars?

Здраствуйте знатоки. Получается набрал полную солянку: есть layout hbs, partials hbs. Вот мне нужно чтобы хелпер выводил строку, а он не возвращает ничего. Вот абсолютно ничего не выводит как бы я не танцевал с бубном. Его будто бы нет. Сейчас покажу под где задействован hbs:
//Addind modules

// Express
const express    = require("express");
// Шаблонизатор
const exphbs     = require("express-handlebars");
const hbs        = require("hbs");
// бд
const mongoose   = require("mongoose");
// сессии
const session    = require("express-session");
// хранилище сессий
const mongoSrote = require("connect-mongo");

// локальное хранилище
const LocalStorage = require('node-localstorage').LocalStorage;
localStorage = new LocalStorage('./scratch');

//connection routs
const homeRouter = require("./routs/homeRout.js")

// создаём приложене
const app = express();


// регистрация хелпера
hbs.registerHelper("getNav", function(){
  let nav = '<li><a href="/">Мои бич</a></li>';
  nav += '<li><a href="/create">Добавить новую</a></li>';
  nav += '<li><a href="/account">Мой аккаунт</a></li>';
  if(localStorage.getItem("userLogin")){
    nav += '<li><a href="/account">Мой аккаунт</a></li>';
  }
  else{
    nav += '<li><a href="/create">Добавить новую</a></li>';
  }
  return new hbs.SafeSrting("<p>a</p>");
});

hbs.registerHelper("lol", function(){
  return "ew";
});

// шаблонизатор
app.engine("hbs", exphbs({
  defaultLayout: "main",
  extname: "hbs",
}));
app.set("view engine", "hbs");


Хелпер должен работать тут:
<nav>
  <ul>
      <li>{{getNav}}</li> 
      <li><a href="/logout">Выйти</a></li>
      <li><a href="/register">Регистрация</a></li>
      <li><a href="/login">Войти</a></li>
  </ul>
</nav>

  • Вопрос задан
  • 131 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы