语法错误:编译 ejs 时__dirname\视图\管理员\用户.ejs 中意外的令牌'{'



我目前正在开发一个nodejs应用程序,该应用程序具有用于管理端的CRUD操作。这是我的表,管理员可以编辑所有用户。由于某种原因,我在我的ejs中遇到了意外令牌"{"的错误,但我没有看到任何未闭合的括号或类似的东西。我很困惑。如果你在这里看到这个问题,请告诉我。我开始认为这个错误与我的视图无关,更与我的代码无关。虽然我在代码中仍然没有看到任何问题,但一双新的眼睛有望解决我的问题。

我的ejs文件:

<div class="card">
<div class="card-header">
<div class="row">
<div class="col-8">
<h4 class="font-weight-bold">Users</h4>
</div>
</div>
</div>
<div class="card-body">
<table class="table table-hover">
<thead class="table-dark">
<tr>
<th scope="col">Name</th>
<th scope="col">Role</th>
<th scope="col">Content Creator</th>
<th scope="col">Email</th>
<th scope="col">Username</th>
</tr>
</thead>
<tbody>
<% if(users.length> 0 { %>
<% for (let user of users) { %>
<tr>
<th scope="row">
<%= user.name %>
</th>
<td>
<%= user.role %>
</td>
<td>
<%= user.platform %>
</td>
<td>
<%= user.email %>
</td>
<td>
<%= user.username %>
</td>
<td>
<a href="admin/update/<%= user._id %>" class="" btn btn-sm btn-warning>Update</a>
<a href="admin/delete/<%= user._id %>" class="" btn btn-sm btn-danger>Delete</a>
</td>
</tr>
<% } %>
<% } %>
</tbody>
</table>
</div>
</div>
</div>

我的控制器:

const User = require('../models/User.model');
const getAllUsers = async (req, res) => {
const list = await User.find().exec();
res.render('admin/users', {
users: list
})
}

module.exports = { getAllUsers }

我的路线:

const express = require('express');
const router = express.Router();
const User = require('../models/User.model')
const { authRole, ensureAuthenticated, } = require('../config/auth');
const { getUser, getAllUsers, updateUser, deleteUser } = require('../controllers/user.Controller')
const { json } = require('express/lib/response');
router.get('/', ensureAuthenticated, authRole, (req, res) => {
res.render('admin/admin')
})
router.get('/users', ensureAuthenticated, authRole, getAllUsers);
module.exports = router;

此外,在这里查看我正在处理的数据可能会有所帮助:

[
{
role: 'Admin',
_id: 6217f3160f28e8d7aca39742,
name: 'Matt',
platform: 'Haze0_o',
username: 'anemail@email.com',
email: 'anemail@email.com',
date: 2022-02-24T21:05:26.885Z,
__v: 0
},
{
role: 'User',
_id: 6217f3482d1c8dbce051bb43,
name: 'test3',
platform: 'test3',
username: 'test3',
email: 'anemail@email.com',
date: 2022-02-24T21:06:16.430Z,
__v: 0
},
{
role: 'User',
_id: 62181fd5f85ed0b68c82f33b,
name: 'Jackie',
platform: 'a platform',
username: 'a username',
email: 'anemail@email.com',
date: 2022-02-25T00:16:21.618Z,
__v: 0
}
]

您似乎有拼写错误。if语句中缺少右括号。

此行:

<% if(users.length> 0 { %>

应为:

<% if(users.length> 0) { %>

最新更新