想在一个页面显示房间信息,于是照着一个curd的demo来写自己的项目,但是打开后出现如下错误:
ReferenceError: E:codekkSecretChat-masterviews
oomview.html:51
49| </thead>
50| <tbody>
>> 51| <% rooms.forEach(function( room ){ %>
52| <tr>
53| <td><%=room._id%></td>
54| <td><%= room.roomName %></td>
rooms is not defined
at eval (eval at compile (E:codekkSecretChat-master
ode_modulesejslibejs.js:524:12), <anonymous>:14:8)
at returnedFn (E:codekkSecretChat-master
ode_modulesejslibejs.js:555:17)
at tryHandleCache (E:codekkSecretChat-master
ode_modulesejslibejs.js:203:34)
at View.exports.renderFile [as engine] (E:codekkSecretChat-master
ode_modulesejslibejs.js:412:10)
at View.render (E:codekkSecretChat-master
ode_modulesexpresslibview.js:128:8)
at tryRender (E:codekkSecretChat-master
ode_modulesexpresslibapplication.js:640:10)
at EventEmitter.render (E:codekkSecretChat-master
ode_modulesexpresslibapplication.js:592:3)
at ServerResponse.render (E:codekkSecretChat-master
ode_modulesexpresslib
esponse.js:966:7)
at E:codekkSecretChat-master
outes
oomview.js:19:9
at Layer.handle [as handle_request] (E:codekkSecretChat-master
ode_modulesexpresslib
outerlayer.js:95:5)
at next (E:codekkSecretChat-master
ode_modulesexpresslib
outer
oute.js:137:13)
at Route.dispatch (E:codekkSecretChat-master
ode_modulesexpresslib
outer
oute.js:112:3)
at Layer.handle [as handle_request] (E:codekkSecretChat-master
ode_modulesexpresslib
outerlayer.js:95:5)
at E:codekkSecretChat-master
ode_modulesexpresslib
outerindex.js:281:22
at Function.process_params (E:codekkSecretChat-master
ode_modulesexpresslib
outerindex.js:335:12)
at next (E:codekkSecretChat-master
ode_modulesexpresslib
outerindex.js:275:10)
roomview.html部分代码:
<h1>房间列表</h1>
<table>
<thead>
<tr>
<th>id</th>
<th>roomName</th>
<th>roomContent</th>
<th>roomCreateUser</th>
<th>roomImg</th>
<th>roomCreateDate</th>
<th>roomJoinPeos</th>
<th>roomChat</th>
</tr>
</thead>
<tbody>
<% rooms.forEach(function( room ){ %>
<tr>
<td><%= room._id%></td>
<td><%= room.roomName %></td>
<td><%= room.roomContent %></td>
<td><%= room.roomCreateUser %></td>
<td><%= room.roomImg %></td>
<td><%= room.roomCreateDate %></td>
<td><%= room.roomJoinPeos %></td>
<td><%= room.roomImg %></td>
<td><a href="del.html?id=<%=room._id%>">删除房间</a> | <a href="modifyroom.html?id=<%=demo._id%>">更新房间信息</a></td>
</tr>
<% }); %>
</tbody>
路由roomview.js代码:
var fs = require('fs');
var formidable = require('formidable');
var util = require('util');
var express = require('express');
var multer = require('multer');
var roommodal = require('../src/db/models/room');
var user=require('../src/db/models/user');
var adminuser=require('../src/db/models/adminuser');
var upload = multer({ dest: 'uploads/' });
var result = require('../src/utils/result');
var router = express.Router();
router.get('/roomview',function(req,res,next){
if(req.session.userid){
return next();
}
res.redirect('/adminlogin');
});
router.get('/',function(req,res,next){
res.render('roomview.html',{userid:req.session.userid});
});
var Room=roommodal.Room;
exports.roomview = function(req, res,next){
Room.find(function(err,docs){
res.render('roomview', {
rooms:docs
});
});
};
module.exports = router;
模型room.js部分代码:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var roomSchema = new Schema({
roomName:String,
roomContent:String,
roomCreateDate:Date,
roomImg:String,
roomCreateUser:String,
roomJoinPeos:Number,
roomChat:String
});
var room = mongoose.model('Room',roomSchema);
module.exports = room;
server.js部分代码:
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var session = require('express-session');
var loginRouter = require('./routes/login');
var logoutRouter = require('./routes/logout');
var indexRouter = require('./routes/index');
var roomviewRouter = require('./routes/roomview');
var registerRouter = require('./routes/register');
var adminloginRouter = require('./routes/adminlogin');
var adminregisterRouter = require('./routes/adminregister');
var app = express();
app.set('PORT',3000);
var server = app.listen(app.get('PORT'),function(err){
if(err){
console.error('server error:%s',err && ess.message);
return;
}
console.log('server listening at :::',app.get('PORT'));
});
app.use(session({
secret:'recommand 128 bytes random string',
cookie:{maxAge:60*1000*1000}
}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extened:true}));
app.use('/public',express.static(path.join(__dirname,'/public')));
app.use('/uploads',express.static(path.join(__dirname,'/uploads')));
var ejs = require('ejs');
app.engine('html',ejs.__express);
app.set('view engine', 'html');
app.use('/login',loginRouter);
app.use('/adminlogin',adminloginRouter);
app.use('/',indexRouter);
app.use('/roomview',roomviewRouter);
app.use('/register',registerRouter);
app.use('/adminregister',adminregisterRouter);
app.get('/room/users/:roomId',function(req,res,next){
res.json(rooms[req.params.roomId]);
});
app.get('/adminlogout',function(req,res,next){
if(req.session.userid){
var user = req.session.userid;
delete req.session.userid;
}
res.redirect('/adminlogin');
});
我猜测是在roomview.js这个路由出了问题而不是server.js,然后模型room.js是不能改的,所以应该只能改roomview.js,请问各位大神,怎么改呢?