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

问题描述 投票:1回答:3

这个文件的目的是什么?

这是“所有”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')
javascript node.js express pug
3个回答
0
投票

这就是你实际加载框架和定义路由的地方。


0
投票

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

实际上,多米尼克巴恩斯已经answered your question了。


0
投票

在login.js中,您可以定义路由并使这些路由起作用,您需要将此文件导入index.js。

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

© www.soinside.com 2019 - 2024. All rights reserved.