Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.07.2017, 13:17
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

У вас путь к шаблонам прописан в папку views. Убедитесь, что эта папка существует в корне проекта и что ваш courses.jade лежит в этой папке.
Ответить с цитированием
  #12 (permalink)  
Старый 19.07.2017, 13:24
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

А, ешкин кот. Вот это:

app.get('/', routes.index);

app.get('/courses', function(req, res){
  res.render('courses.jade');
});

Должно быть перед еррорХендлером.
Ответить с цитированием
  #13 (permalink)  
Старый 19.07.2017, 13:52
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Спасибо, огромное! Ты настоящий друг! Помог!!! +99999999999 в карму!
Ответить с цитированием
  #14 (permalink)  
Старый 19.07.2017, 14:16
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Только смотри: если все мои файлы находятся в папке views, то все работает. Но если в папке views есть папка tabs (в ней file.jade) и файл index.jade, то как мне правильно поставить путь к file.jade?

Что писать тут:
a(href='ЧТО ПИСАТЬ ТУТ?', style='color: white;') Ссылка

Что писать тут:

app.get('ЧТО ПИСАТЬ ТУТ?', function(req, res){
	res.render('ЧТО ПИСАТЬ ТУТ?');
});

// development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

Последний раз редактировалось АнонимныйПарень, 19.07.2017 в 14:22.
Ответить с цитированием
  #15 (permalink)  
Старый 19.07.2017, 15:40
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

Путь к шаблонам задан вот здесь -
app.set('views', path.join(__dirname, 'views'));
- от этого места и отсчёт. Соответственно:
res.render('tabs/file');

Что написано в строке запроса - не имеет значения. На клиенте написано href="/gfgfgfgfgfg" - на сервере то же самое - app.get('/gfgfgfgfgfg', ... Тут главное - придумывать что-нибудь разумное и соответствующее по смыслу, чтоб самому же и удобно было.

Шаблоны можно делить на слои (layouts) и миксины (mixins). Поэтому обычно создают папку templates, а в ней папки layouts, mixins и views, путь указывают так -
app.set('views', path.join(__dirname, 'templates/views'));
- а уж отсюда подгружаются - типа
extends ../layouts/default
и т.д. - составные части каждой страницы.
А при рендеринге расширение и не нужно - res.render('bla');

Последний раз редактировалось Audaxviator, 19.07.2017 в 20:54.
Ответить с цитированием
  #16 (permalink)  
Старый 19.07.2017, 15:52
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

А, и все эти index тут не работают. Шаблонизатору до фени имя index, никакого приоритета оно не имеет. Какое имя написано в коде - res.render('blabla'); - тот файл и рендерится. Написано res.render('index') - будет index.jade
Ноде - не до фени: увидит в указанной папке файл index.js - будет его исполнять автоматически.

Последний раз редактировалось Audaxviator, 19.07.2017 в 15:55.
Ответить с цитированием
  #17 (permalink)  
Старый 19.07.2017, 19:30
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

Я кое-что попробовал и справил выше.
Ответить с цитированием
  #18 (permalink)  
Старый 22.07.2017, 10:55
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Cannot GET /tabs/courses

Вот что пишет! Не понимаю в чем ошибка
Ответить с цитированием
  #19 (permalink)  
Старый 22.07.2017, 15:16
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

Хе. Догадываюсь, что эта строчка написана в запросе, в аргументе тэга - href="/tabs/courses"
Но я не медиум, конечно.
Если это так, то перечитайте внимательно мой предыдущий камент.
В Ноде есть одна замечательная вещь (тут много замечательных вещей, но и эта тоже): pathname запроса не связан непосредственно с обработчиком этого запроса. С в строке запроса чего-то написано, но обработчику безразлично - чего там написано. Он просто прикручен к этому "чего-то" в качестве обработчика в этой вот строчке после запятой
app.get('/hfhgjhlj/gfhf', ... ...);
но ему всё равно, чего там написано.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разница между собранным пакетом nodeJS и установленным из бинарного образа freeneutron Node.JS 1 10.11.2015 12:41
редирект по завершению submit Илья86 Общие вопросы Javascript 2 02.12.2014 17:54
jquery анимация и редирект после SunYang Events/DOM/Window 5 17.05.2012 12:10
Comet: NodeJS - с чего начать разработку? Vulkan AJAX и COMET 13 27.11.2010 19:25
30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма. pizzZ AJAX и COMET 2 18.02.2010 09:06