Express 如何将jade-mixin编译成javascript以在客户端使用

Express 如何将jade-mixin编译成javascript以在客户端使用,express,pug,Express,Pug,我有一些服务器和客户端都需要的混合(动态渲染)。如果有兴趣的话,我用的是Express,Grunt 例如,请参见以下mixin: mixin book(data) .header data.title .description data.description 据说我们可以将jade模板预编译成javascript。但是jade--client--没有调试手册。jade只给出以下输出: function template(locals) { var buf = []; var

我有一些服务器和客户端都需要的混合(动态渲染)。如果有兴趣的话,我用的是Express,Grunt

例如,请参见以下mixin:

mixin book(data)
  .header data.title
  .description data.description
据说我们可以将jade模板预编译成javascript。但是
jade--client--没有调试手册。jade
只给出以下输出:

function template(locals) {
  var buf = [];
  var jade_mixins = {};
  var jade_interp;

  ;return buf.join("");
}
这很混乱。我发现其他一些人也遇到了同样的问题,但没有给出解决方案,甚至没有给出进一步的解释

那么,真的有可能在服务器和客户端之间共享mixin吗?如果可能,如何进行?

这似乎有效:

mixins/userItem.jade

mixin userItem(user)
    .user= user.name

+userItem(user)
include ./mixins/userItem

extends layout

block content
    each user in users
        +userItem(user)
这样,就可以使用
jade--client--no-debug mixins/userItem.jade
正确编译模板

这将像预期的那样工作<代码>模板({user:{name:'foo'})返回
foo

您还可以在服务器端渲染中使用mixin:

用户。jade

mixin userItem(user)
    .user= user.name

+userItem(user)
include ./mixins/userItem

extends layout

block content
    each user in users
        +userItem(user)
server.js

render('users', { users: [{ name: 'foo' }] });

感谢您的回复。如果我们通过AJAX获得
用户
,该怎么办?