Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS+;ExpressJS:routes/index.js是什么及其用途?_Javascript_Node.js_Express_Pug - Fatal编程技术网

Javascript NodeJS+;ExpressJS:routes/index.js是什么及其用途?

Javascript NodeJS+;ExpressJS:routes/index.js是什么及其用途?,javascript,node.js,express,pug,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) {

这个文件的目的是什么

这是“所有”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;
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;
但是当我把它放在index.js文件中时,它工作得非常好

routes/index.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;
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;
查看/登录。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')

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

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


实际上,多米尼克·巴恩斯已经开始了。

login.js中,您可以定义路由,要使这些路由正常工作,您需要将此文件导入index.js

因此,通过这种方式,如果您正在处理一个大型项目,您可以遵循这种模块化方法,在不同的文件中定义路由,并将所有这些文件包含在index.js文件中