【问题标题】:how can i render jade file我怎样才能渲染玉文件
【发布时间】:2015-10-24 19:55:38
【问题描述】:

如何使用 socket.io 渲染玉文件并以 json 格式发送数据

使用 express 渲染

router.get('/', function(req, res, next) {
    res.render('index', { title: 'Express' });
});

我想要这样的东西

io.sockets.on('connection', function (socket) {
    socket.on("message", function(data) {
        //some think like this
        var a = render('index', { title: 'Express' });
        socket.emit({html:a,more_data:ffffffff});
    });
});

所以我渲染它并将它添加到对象中以获取一些数据

【问题讨论】:

  • 如果您希望通过 Socket.IO 渲染 Jade,那么您可能做错了。 Socket.IO 仅用于交换消息或简单(可序列化)数据。您可能应该做的是编写客户端 Javascript 以通过 DOM 操作接收数据并将数据更新到现有 HTML 中。

标签: javascript node.js


【解决方案1】:

请注意:这是对您关于 Jade 渲染的主要问题的回答。您对socket.io 的处理取决于您自己,但当然,您应该考虑只将小数据包发送回浏览器,并改为通过客户端模板进行渲染。

但是,是的,您可以在 Node.js 中使用 Jade 手动渲染,而无需 Express 框架。请参阅Jade API 文档了解您可以使用的所有方法和选项。

在你的 app.js 中试试这个:

var jade = require('jade');
var renderFunc = jade.compileFile('./views/layout.jade');
var html = renderFunc({ title: 'Express' });
console.log(html);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 2022-01-12
    • 1970-01-01
    • 2016-07-04
    • 2021-07-09
    • 2019-12-05
    • 2014-10-07
    相关资源
    最近更新 更多