Jade — вызов страницы, специфичной для css-страниц

#css #node.js #express #pug

#css #node.js #экспресс #pug

Вопрос:

У меня есть файлы css для конкретных страниц, которые я хотел бы вызывать автоматически. У кого-нибудь есть хороший способ сделать это элегантно?

Ответ №1:

Это должно сделать это

 link(rel="stylesheet", href="#{req.path   '.css'}", type="text/css")
  

Где вы передаете либо req (объект запроса) в качестве локальной переменной при рендеринге шаблона jade (или даже просто передаете req.path как path ). Это можно просто обработать в вашем макете.jade и это будет работать для каждого из ваших маршрутов.

Если вы хотите пофантазировать, вы можете установить согласованный шаблон, в котором маршрут страницы сопоставляет 1 к 1 пути файловой системы для файла .css в вашем общедоступном каталоге. В этом случае вы могли бы легко использовать тег ссылки на таблицу стилей внутри условного и ссылаться на файл .css только в том случае, если вы найдете соответствующий файл на диске.

Комментарии:

1. спасибо, для остальных я поместил это в свои динамические помощники: path: function(req, res){ var path = req.route.path; if (path ===’/’){ return ‘home’; } обратный путь; }