NodeJS + ExpressJS:什么是routes / index.js及其目的?

时间:2014-06-27 18:01:39

标签: javascript node.js express pug

此文件的目的是什么?

这是“所有”get和post调用实例化的地方吗?

如果是这样,在处理大型项目时,这不是一个非常庞大的文件吗?

我尝试从routes / index.js以外的其他文件调用post / / authenticateLogin,但它无法正常工作,导致404错误。

路由/ login.js

var express = require('express');
var router = express.Router();

router.get('/', function(req, res) {
    res.render('login');
});

router.post('/authenticateLogin', function(req, res){
    console.log("Authenticating 2!");
    res.send('number two!');
});

module.exports = router;

但是当我把它放在index.js文件中时,它的效果非常好。

路由/ index.js

var express = require('express');
var router  = express.Router();

router.get('/', function(req, res) {
    res.render('index', { title: 'Home' });
});

router.post('/authenticateLogin', function(req, res){
    console.log("Authenticating 1!");
    res.send('number one!');
});

module.exports = router;

视图/ login.jade

extends layout

block content
h1 Login 

form(method='post' action='/authenticateLogin')
    input(type='text' placeholder='username' name='username')
    input(type='password' placeholder='password' name='password')

    input(type='submit')

3 个答案:

答案 0 :(得分:0)

您实际加载框架并定义路线的地方。

答案 1 :(得分:0)

您可以将路线分散到多个文件中。

实际上,Dominic Barnes已经answered your question

答案 2 :(得分:0)

login.js 中,您可以定义路由并使这些路由生效,您需要将此文件导入到 index.js

因此,如果您正在从事大型项目,则可以遵循这种模块化方法,并在不同文件中定义路由,并将所有这些文件包含在 index.js 文件中。