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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS + ExpressJS:什么是routes / index.js及其目的?相关的知识,希望对你有一定的参考价值。

这个文件的目的是什么?

这是“所有”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')
答案

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

另一答案

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

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

另一答案

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

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

以上是关于NodeJS + ExpressJS:什么是routes / index.js及其目的?的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs,expressjs - 如何提供延迟响应

转NodeJS教程--基于ExpressJS框架的文件上传

使用async/await——Nodejs+ExpressJs+Babel

从 Angular/NodeJS/ExpressJS 向 3rd 方 URL 的 POST 请求

Nodejs:无法同时运行expressjs和reactjs

NodeJS-ExpressJS 猫鼬 API POST 请求与外键