kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 lostAstronaut
lostAstronaut
Вопрос

ejs 'partial is not defined'

Хорошо, у меня есть в основном статическая домашняя страница, но я хотел бы иметь частичные представления, которые для навигации, нижнего колонтитула и т.д. Я использую ejs и это выглядит следующим образом:

мой контроллер: home.js

// Dependencies
var express = require('express');

    module.exports = {
        get: function(req, res) {
            app.set('view engine', 'ejs');  
            var model = {
            layout:'home',
                    };

            res.render('home');

        }
    };

В моем каталоге views есть nav, home и footer - все .ejs

Тогда фактический html-файл, очищенный от текста, будет выглядеть следующим образом.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" >
<title>Tom Jones</title>

<!-- CSS -->
<link rel="stylesheet" href="/css/home.css" type="text/css" media="screen" >

</head>
<body>

<%- partial('nav') %>

<!--content part -->  
<div id="showcontainer">
        <section>

        </section>
</div>

<div id="maincontainer">
        <section>

        </section>
</div>

</body>
</html>

Проблема При тестировании я сталкиваюсь с ошибкой partial is not defined. Я пробовал требовать ejs, но безуспешно.

28 2012-07-05T19:59:53+00:00 2
Программирование
node.js
ejs
express
 Joshua
Joshua
6-го августа 2012 в 8:42
2012-08-06T20:42:47+00:00
Дополнительно
Источник
Редактировать
#16614787

Как сказал @Pickels, Partial был удален в версии 3.x. Однако последняя версия EJS предоставляет механизм для включения "частей", который называется "include":

https://github.com/visionmedia/ejs#includes

Включение происходит относительно шаблона с оператором include, например, если у вас есть "./views/users.ejs" и "./views/user/show.ejs", вы будете использовать <% include user/show %>. Включенный файл(ы) буквально включается в шаблон, после компиляции не выполняется IO, поэтому локальные переменные доступны для этих включенных шаблонов.

Следующая функция будет работать как замена вашей старой функции partial(). Для полной поддержки Express 3.x вам потребуется внести изменения в другие функции, но по большей части это работает хорошо (даже лучше - меньше кода и больше производительности).

<% include nav.ejs %> <!-- replaces your old <%- partial('nav') %> -->
 Joshua
Joshua
Редактировал ответ 26-го ноября 2012 в 5:07
57
0
 Pickels
Pickels
5-го июля 2012 в 8:05
2012-07-05T20:05:43+00:00
Дополнительно
Источник
Редактировать
#16614786

Partial был удален в версии 3.x. Теперь предоставление partials зависит от шаблонизатора.

4
0
Похожие сообщества 14
JavaScript Jobs — чат
JavaScript Jobs — чат
26 405 пользователей
JavaScript Jobs — чат для поиска работы и людей Правила оформления: @telegram-ru/r1WQe5F1m" rel="nofollow noopener noreferrer" class="text-blue hover:text-black link" target="_blank">https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru
Открыть telegram
Node.js — русскоговорящее сообщество
Node.js — русскоговорящее сообщество
10 113 пользователей
Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было комфортным. Правила: https://rudevs.network/ByaMH6un7 См. также: @js_ru, @react_js, @angular_ru, @vuejs_ru, @devops_ru Вакансии и поиск работы: @javascript_jobs и @nodejs_jobs
Открыть telegram
JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
9 515 пользователей
Помогаем друг другу разбираться с JS Правила: @js_noobs_ru/rules" rel="nofollow noopener noreferrer" class="text-blue hover:text-black link" target="_blank">https://teletype.in/@js_noobs_ru/rules Другие полезные чаты — https://github.com/goq/telegram-list или https://rudevs.network/ByKT2JwWQ
Открыть telegram
JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
7 714 пользователей
Рекомендуем сразу отключить уведомления Правила: https://git.io/JycBd См. также: @js_noobs_ru, @nodejs_ru, @ts_cool, @react_js, @electron_cool Вакансии и поиск работы: @javascript_jobs
Открыть telegram
Node.js Jobs. Stop the war!
Node.js Jobs. Stop the war!
6 881 пользователей
Публикуем вакансии и запросы на поиск работы для разработчиков на Node.js (back-end). Правила оформления вакансий и остальная информация в закрепленном сообщении https://t.me/nodejs_jobs/71106
Открыть telegram
JavaScript.Ninja
JavaScript.Ninja
3 822 пользователей
Правила поведения проекта https://telegra.ph/Kodeks-povedeniya-proekta-JavaScriptNinja-12-15
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Денис Васьков
Зарегистрирован 16 часов назад
2
Dima Patrushev
Зарегистрирован 2 дня назад
3
sirojidddin otaboyev
Зарегистрирован 1 неделю назад
4
Елена Гайдамамакинат
Зарегистрирован 1 неделю назад
5
Иван Степанюк
Зарегистрирован 1 неделю назад
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией