Javascript 如何在NodeJS中接受大量API请求

Javascript 如何在NodeJS中接受大量API请求,javascript,java,node.js,Javascript,Java,Node.js,我最近开始学习NodeJS。事情进展得很顺利。我看到了一个在线教程,并在我的server.js文件中接受了GET请求 由于我有Java背景,一些问题浮现在我的脑海中,我在互联网上到处搜索,但都找不到 我是否需要接受request.js文件中的所有请求。假设我有数百个GET api请求,我需要将它们写入我的server.js文件中,我觉得这是Node js中唯一的入口点 例如: var express=require("express"); var app=express(); app.get("

我最近开始学习NodeJS。事情进展得很顺利。我看到了一个在线教程,并在我的server.js文件中接受了GET请求

由于我有Java背景,一些问题浮现在我的脑海中,我在互联网上到处搜索,但都找不到

  • 我是否需要接受request.js文件中的所有请求。假设我有数百个GET api请求,我需要将它们写入我的server.js文件中,我觉得这是Node js中唯一的入口点
  • 例如:

    var express=require("express");
    var app=express();
    app.get("/api/request1/",function(){
        //some code here
    })
    app.get("/api/request2/",function(){
        //some code here
    })
    .
    .  
    .
    .
    app.get("/api/request100/",function(){
        //some code here
    })
    
    这将使我的代码变得繁琐且难以管理。正如我所说的,我有Java背景,我习惯于在不同的servlet中分离代码

  • 其次,在节点JS中是否可能有另一个入口点。因为我的申请量很大。还有一种方法可以使用节点模块在不同的模块中隔离/分离我的代码,然后将它们包含在server.js中

  • 请指定一些好的资源或技术来解决这个问题。

    您可以轻松地模块化您的快速路线

    按照您的示例:在项目中,创建一个目录
    routes
    和一个文件
    routes/api.js
    ,其中包含以下内容:

    var express = require('express');
    var router = express.Router();
    
    router.get('/request1', function(req, res, next) {
      res.send('...');
    });
    router.get('/request2', function(req, res, next) {
      res.send('...');
    });
    
    module.exports = router;
    
    在您的
    server.js
    中:

    app.use('/api', require('./routes/api'));
    

    万一有人有同样的问题,你可以参考

    你可以轻松地模块化你的快速路线

    按照您的示例:在项目中,创建一个目录
    routes
    和一个文件
    routes/api.js
    ,其中包含以下内容:

    var express = require('express');
    var router = express.Router();
    
    router.get('/request1', function(req, res, next) {
      res.send('...');
    });
    router.get('/request2', function(req, res, next) {
      res.send('...');
    });
    
    module.exports = router;
    
    在您的
    server.js
    中:

    app.use('/api', require('./routes/api'));
    
    万一有人有同样的问题,你可以参考应用程序。get(…)只是一个函数调用。您可以轻松做到这一点:

    require('routes1')(app);
    require('routes2')(app);
    
    其中这些模块导出
    函数(app){app.get(…);app.get(…);}

    更好的是,Express.js(不是Node.js-Node.js像JVM,Express像Tomcat)应用程序可以挂载子应用程序:

    app.use('/api', require('subapp'));
    
    如果
    subapp
    是一个普通的Express.app,比如说,
    app.get('/request1',…)
    ,那么在装载后,您将拥有可用的
    /api/request1
    。(这只适用于整个层次结构;因此,如果您想将
    /api/request1
    ..
    /api/request100
    拆分为十个文件,您可能需要使用第一种方法,或者重新考虑层次结构的工作方式。)

    app.get(…)
    只是一个函数调用。您可以轻松做到这一点:

    require('routes1')(app);
    require('routes2')(app);
    
    其中这些模块导出
    函数(app){app.get(…);app.get(…);}

    更好的是,Express.js(不是Node.js-Node.js像JVM,Express像Tomcat)应用程序可以挂载子应用程序:

    app.use('/api', require('subapp'));
    

    如果
    subapp
    是一个普通的Express.app,比如说,
    app.get('/request1',…)
    ,那么在装载后,您将拥有可用的
    /api/request1
    。(这只适用于整个层次结构;因此,如果您想将
    /api/request1
    ..
    /api/request100
    拆分为十个文件,您可能需要使用第一种方法,或者重新考虑层次结构的工作方式。)

    是的,您应该尽可能与模块保持分离,正如我所见,您已经开始学习express do checkout模块,该模块为您提供了一个很好的小型锅炉板代码,在构建大型项目时也可以从中开始。此外,还可以查看博客以获得高级使用权

    是的,您应该尽可能与模块保持分离,正如我所看到的,您已经开始学习express do checkout模块,该模块为您提供了一个很好的小型锅炉板代码,在构建大型项目时也可以从中开始。此外,还可以查看博客以获得高级使用

    感谢我所寻找的答案。也许我应该离开快递文档。谢谢。我可以导出多个路由吗。例如,我在routes/api.js、routes/moreapi.js、routes/onr-moreapi.js中分离了我的路线。非常感谢Robby,你为我节省了大量的时间。谢谢,这几乎是我想要的答案。也许我应该离开快递文档。谢谢。我可以导出多个路由吗。例如,我在routes/api.js、routes/moreapi.js、routes/onr-moreapi.js中分离了我的路线。非常感谢Robby,你为我节省了大量的时间。当然,谢谢链接,谢谢链接