在Node.js / Express中获取路由错误

时间:2014-08-14 15:30:09

标签: javascript node.js express

我收到错误Cannot Get /。这是我的文件夹结构

enter image description here

这是route.js文件:

//route.js

'use strict';

var app = require('../../config/express');

var router = app.Router();

/* Get Home Controller */
var homeController = require('../controllers/index');

router.get('/index', homeController.index); //it isn't recognized

app.use('/', router);

'use strict';

/*
 *  GET /
 *  Home Page
 */

exports.index = function(req, res){
  res.render('index', {
    'pageTitle': 'Express page'
  });
};

'use strict';

/* Import Express module */
var express = require('express');
var path = require('path');
//var bodyParser = require('body-parser');

/* Import env config parameters */
var settings = require('./env/settings');

/* Create express server */
var app = express();

/* Settings Application */
app.set('port', settings.port);
app.set('views', path.join(__dirname, '/frontend/views'));
app.set('view engine', 'jade');

//app.use(bodyParser.json());
//app.use(bodyParser.urlencoded({extended: true}));

app.use(express.static(__dirname + '/assets'));

module.exports = app;

我知道这是路由问题,但我试图解决它

1 个答案:

答案 0 :(得分:2)

Cannot Get /正如所说的那样。您尚未定义与该路径匹配的任何路由。您已定义/index,但未定义/,它们是两个不同的网址。 index.html - Express在路由中不提供样式行为。如果你想要它,它可以与静态文件中间件一起使用。

所以改成它:

router.get('/', homeController.index);

或者如果您还想要/index工作,请同时执行以下操作:

router.get('/', homeController.index);
router.get('/index', homeController.index);