Jade nodejs相当于PHP的内联脚本


jade nodejs equivalent of php inline scripting

我有一个严重的麻烦,试图发现如何做某件事,我不知道如何正确命名/描述它在nodejs中,我已经学会了一些概念和nodejs的基础知识,我已经搞砸了express和jade,但我仍然无法弄清楚什么是等价的。jade文件,忽略html标记。(我的目的是要做的是打印sql fetch的结果)

<body>
<p><? print "Hello World"; ?></p>
</body>
我app.js

var express = require('express'),
app = express();
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.get("/", function(req, res) {
    res.render('page.jade', {
       title: 'My Page' 
    });
});
app.use('/static', express.static(__dirname + '/static'));
app.listen(app.get('port'), function() {
  console.log('Express server listening on port %d in %s mode', app.get('port'), app.get('env'));
});

PS:如果我的问题太平庸,我很抱歉,我已经搜索过了,但没有找到任何对我有帮助的东西

通过渲染传递的任何对象都会被传递到视图中,这将是您的jade文件。然后,您可以在标记后使用=或使用#{}内联来呈现对象属性。

res.render('page', {
   title: 'My Page',
   name: 'Ben'
});
html
    head
        title= title
    body
        p My name is #{name}

输出将是:

<html>
    <head>
        <title>My Page</title>
    </head>
    <body>
        <p>My name is Ben</p>
    </body>
</html>

要添加其他答案,还可以在jade文件

中使用if/else语句

App/路由器

res.render('view',{
    "error": "ExampleError!"
});
视图

if error
    p An error occurred: #{error}
else
    p All is well

输出
<p>An error occurred: ExampleError!</p>