Подтвердить что ты не робот

Как выразить и нефрит не сжимает html?

Я использую express и jade, но когда я отлаживаю, я не хочу, чтобы jade сжимал мой html, есть ли какой-нибудь способ передать jade по умолчанию и сделать это не сжимает html.

4b9b3361

Ответ 1

За время, прошедшее с момента написания этого ответа, для управления этим поведением была добавлена ​​опция.

app.locals.pretty = true;

На данный момент нет. Эта функция обсуждалась здесь:

https://github.com/visionmedia/jade/pull/205

Однако html фактически не сжимается или не уменьшается по умолчанию. Он просто не отформатирован красиво. Самый простой способ, с помощью которого я смог сделать его доступным для чтения, - использовать инструменты Chrome dev, которые дают вам хорошее складное представление источника.

Ответ 2

Если вы используете Express 3.x, вы можете управлять сжатием через app.locals.pretty. Я обычно включаю его во время разработки:

app.configure('development', function () {
    app.locals.pretty = true;
});

Ответ 3

Вы можете использовать Jade Comments для аннотации кода для просмотра в браузере.

//h1
h1 Some Title
//p
p some content

выводит

<!--h1-->
<h1>Some Title</h1>
<!--p-->
<p>some content</p>

Шаблон уже скомпилирован, когда он покидает сервер, поэтому, если вы хотите просмотреть шаблон в браузере, вам придется написать плагин, который декомпилирует html для jade и отображает декомпилированную версию.

Ответ 4

Да, новичок в nodejs, поэтому, возможно, здесь что-то не хватает; но в app.js добавление app.set('view options', {pretty: true}); было неэффективным (с использованием express 3.0.3).

.. не поддерживается? нашел обходное решение, например. по каждому маршруту:

exports.index = function(req, res){
  res.render('index', {
    [... other stuff ...]
    pretty: true
  });
};