我有一个严重的麻烦,试图发现如何做某件事,我不知道如何正确命名/描述它在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>