node.js页面呈现不起作用 - 即使服务器没有抛出任何错误

时间:2016-11-26 19:16:22

标签: node.js

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时,它会一遍又一遍地加载。知道什么是错的吗?

1 个答案:

答案 0 :(得分:0)

这一行:

app.use('/dummy', dummy);

应改为:

app.use('/dummy', dummy());

因为该模块正在导出返回路由器的功能。

此外,在next()之后调用res.render()不是必需的,如果您有另一个可能与请求匹配的路由处理程序,可能会导致意外行为。