jade nodejs相当于php内联脚本

时间:2014-08-08 08:34:27

标签: php node.js express pug

我在试图发现如何做某件事我不知道如何在nodejs中正确命名/描述时遇到了严重的麻烦,I'我已经学会了一些概念和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:对不起,如果我的问题过于平庸,我已经搜索过,但找不到任何有帮助我的东西。

2 个答案:

答案 0 :(得分:3)

您使用render传递的任何对象都会传递到视图中,这将是您的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>

答案 1 :(得分:0)

要添加其他答案,您还可以在jade文件中执行if / else语句

应用/路由器

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

查看

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

输出

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