0

有没有办法美化来自 Jade 模板的 HTML 输出?类似于 Express 的东西app.locals.pretty = true;?我正在使用koa-routerkoa-views如果这是相关的。

服务器.js

const koa = require('koa');
const views = require('koa-views');
const serve = require('koa-static');
const router = require('./routes');

const app = koa();

app.use(serve(`${__dirname}/public`));
app.use(views(`${__dirname}/views`, { extension: 'jade' }));
app.use(router.routes());

app.listen(3000, () => {
  console.log('Server listening at http://localhost:3000');
});

路线/index.js

const router = require('koa-router')();

router.get('/', function *() {
  yield this.render('index');
});

module.exports = router;

意见/index.jade

html
  head
    title Hello
    meta(charset='utf-8')
    meta(name='viewport', content='width=device-width, initial-scale=1.0')
    link(type='text/css', rel='stylesheet', href='css/style.css')

  body
    h1 Hi
4

1 回答 1

0

你可以试试:

app.use(views(`${__dirname}/views`, { extension: 'jade', pretty:true}));

这应该可以解决问题……另一方面,我使用 koa-jade 而不是 koa-views。我当前的代码如下所示:

var Jade  = require('koa-jade');

var jade = new Jade({
    viewPath: path.resolve(__dirname,"jade"),
    debug: true,
    pretty: true,
    compileDebug: true,
    basedir: path.resolve(__dirname,"jade"),
    app:app
  })

在生产模式下,我只是将 pretty 设置为 false ...

高温高压

于 2016-05-01T16:28:16.893 回答