这是我的服务器端代码:
app.set('view engine', 'html');
app.engine('html', require('ejs').renderFile);
app.use(express.static('views'));
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.get('/',function(req,res){
var title = "PERFORMANCE OVERVIEW";
res.render('Main.html',{name:title});
})
这是我的客户端代码(Main.html):
<div class="row">
<div class="sm-col-12">
<h3 contenteditable="true" style="font-family:BentonSans Medium; text-align:center; color:rgb(0,38,99);"><%= name %></h3>
<hr style="border-top: dotted 2px;color:grey" />
</div>
</div>
我在 Main.html 页面上得到的输出是“”。相反,它应该打印“性能概述”。这段代码究竟有什么问题?
我忘了提到我也尝试过其他变体,比如
<%= name%> and {{ name }}
。但我分别得到了输出 "<%= name%>" and "{{ name }}"
。 最佳答案
将其更改为 <%= name %>
应该可以修复它。
如果没有,您可以尝试将 app.set('view engine', 'html')
更改为 app.set('view engine', 'ejs');
,然后删除以下 2 行。
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.get('/',function(req,res){
var title = "PERFORMANCE OVERVIEW" ;
res.render('Main',{name:title}) ;
});
我一直是这样写的,所以我不能肯定你的语法是否正确,或者 ejs 是否可以在不这样设置的情况下工作。
更新
确保
Main.html
文件位于名为 views
的文件夹中,并将此文件重命名为 Main.ejs
。接下来将
res.render('Main.html',{name:title});
更改为 res.render('main',{name:title});