这个文件的目的是什么?
这是“所有”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文件中。