gpt4 book ai didi

javascript - node.js - mongodb 到 ejs - 渲染整个集合

转载 作者:行者123 更新时间:2023-12-03 07:34:39 24 4
gpt4 key购买 nike

http://cwbuecheler.com/web/tutorials/2013/node-express-mongo/

我一直在关注这个教程,我想做一些类似于用户列表页面的事情,唯一的区别是,我想使用ejs而不是jade。

在 html 中,最终结果应如下所示:

<ul>
<li><a href="users/testuser1">testuser1</a></li>
<li><a href="users/testuser2">testuser2</a></li>
<li><a href="users/testuser3">testuser3</a></li>
</ul>

在index.js文件中,我有这样的代码:

/* GET Userlist page. */
router.get('/userlist', function(req, res) {
var db = req.db;
var collection = db.get('usercollection');
collection.find({},{},function(e,docs){
res.render('userlist', {
"userlist" : docs
});
});
});

在 Jade 中,它看起来是这样的:

extends layout

block content
h1.
User List
ul
each user, i in userlist
li
a(href="users/#{user.username}")= user.username

基本上,我想在 ejs 中执行此操作。有什么想法吗?

最佳答案

要使用ejs代替jade,首先需要将 View 引擎配置到express框架。这可以按如下方式完成。

 app.set('view engine', 'ejs');   // ejs in your case.

您还需要使用以下代码行指定 ejs 文件的位置

 app.set('views', path.join(__dirname, 'views'));   // here views is folder name inside of the project folder.

然后您可以在 xxx.ejs 文件中使用以下代码。

 <ul>
<% userlist.forEach(function(user) { %>
<li><a href="users/#<%= user.username %>"><%= user.username %></a></li>
<% } %>
</ul>

关于javascript - node.js - mongodb 到 ejs - 渲染整个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35667309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com