index.js文件:
var express = require('express');
var dummy = require('./routes/dummy.js');
var showdata = require('./routes/showdata.js');
var app = express();
app.set('view engine', 'ejs');
app.use('/dummy', dummy);
app.use('/showdata', showdata);
dummy.js文件:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.render('dummy');
next();
});
module.exports = function() {
var precious_data = 'precious_data - from dummy.js file';
console.log(precious_data);
return router;
};
showdata.js文件:
var express = require('express'); var router = express.Router();
var dummyReq = require('./dummy.js');
var showModuleExports = dummyReq();
router.get('/', function(req, res, next) {
res.render('showdata', { renderData : showModuleExports });
});
module.exports = router;
服务器没有显示任何错误,但我无法显示我的页面...在浏览器中,当我键入localhost时,它会一遍又一遍地加载。知道什么是错的吗?
答案 0 :(得分:0)
这一行:
app.use('/dummy', dummy);
应改为:
app.use('/dummy', dummy());
因为该模块正在导出返回路由器的功能。
此外,在next()
之后调用res.render()
不是必需的,如果您有另一个可能与请求匹配的路由处理程序,可能会导致意外行为。