分割长的NodeJs Web服务器文件

维斯努博士

我的NodeApplication有一个长的webserver.js文件,基本上它是做什么的,它有一个用于显示静态页面的Express模块​​,还有一些处理GET和POST Request的功能。

这些GET和POST请求将在内部调用某些REST服务以获取数据并将RESULT传递给浏览器,因此REST API不会公开。

    var express = require('express');
    var request = require('request');
    var compression = require('compression');
    var bodyParser = require('body-parser');
    var app = express();
    var util = require("util");
    async = require("async");



    app.use(compression());
    app.use(bodyParser.json({}));
    app.use(bodyParser.urlencoded({ extended: true }));


    require('./node_scripts/session.js')(app);
    var Url = require('./node_scripts/ServiceUrls.js');


    //REDIRECT TO PUBLIC DIRECTORY
    app.use('/', express.static(__dirname + '/public'));


    //GET TEMPLATES FOR FORM
    app.get('/Templates', function(req, res) {
        var MyJsonData = {
            AccessToken: req.session.AccessToken || 0
        };
        console.log(MyJsonData);
        request({
            url: Url.UserService + 'GetTemplates', //URL to hit
            method: 'POST',
            json: MyJsonData

        }, function(error, response, body) {
            if (error) {

                res.send("dummytext");
                res.end();
                console.log("/Templates (send dummy data) ->" + error);
            } else {
                console.log("/Templates REST Response");
                console.log(response.statusCode, body);
                res.send(body);
                res.end();
            }


        })
    });

app.get('/AnotherRequest', function(req, res) {
        });
..
..
..
app.get('/AnotherNthRequest', function(req, res) {
        });

因此,我如何分割文件,以便可以将某些请求分为单独的js文件,并且开发起来会更容易

我对NodejS完全陌生。是的,但我有经验是PHP,在这种情况下不会帮我

萨米特

您可以为此使用快速路由器

下面的代码简单演示了如何修改您的代码。

您的主文件分为三部分


  1. server.js(仅文件名,使用约定)

 var express = require('express');
 var bodyParser = require('body-parser');
 var app = express();

 app.use(bodyParser.json({}));
 app.use(bodyParser.urlencoded({
     extended: true
 }));

 //REDIRECT TO PUBLIC DIRECTORY
 app.use('/', express.static(__dirname + '/public'));

 // Send request to the routes
var router = require('./routes')(app, express);

// Append the router 
app.use('/', router);

将您的路线处理放在这里。

  1. routes.js

var myController = require('./controller');


module.exports = function (app, express) {

    // Create route handlers
    var router = express.Router();

    router.route('/Templates')
        //GET TEMPLATES FOR FORM
        .get(function (req, res) {
            myController.myFunction(req,res);
        });

    router.route('/AnotherRequest')
        .get(function (req, res) {});

    ..
    ..
    ..

    router.route('/AnotherNthRequest')
        .get(function (req, res) {});

    return router;
};

将您的逻辑放在这里。

  1. controller.js

 var request = require('request');


 var Url = require('./node_scripts/ServiceUrls.js');

 exports.myFunction = function (req, res) {

     var MyJsonData = {
         AccessToken: req.session.AccessToken || 0
     };
     console.log(MyJsonData);
     request({
         url: Url.UserService + 'GetTemplates', //URL to hit
         method: 'POST',
         json: MyJsonData

     }, function (error, response, body) {
         if (error) {

             res.send("dummytext");
             res.end();
             console.log("/Templates (send dummy data) ->" + error);
         } else {
             console.log("/Templates REST Response");
             console.log(response.statusCode, body);
             res.send(body);
             res.end();
         }


     })


 };

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Web服务器提供服务时,NodeJS编写的文件显示404

来自分类Dev

使用NodeJS更改配置文件时重新启动Web服务器

来自分类Dev

专用web服务器,nodeJS无法运行app

来自分类Dev

为 web CRM 部署 nodejs 服务器以进行生产

来自分类Dev

angularjs nodejs从apache http服务器下载文件

来自分类Dev

json文件未显示在nodejs服务器中

来自分类Dev

如何使用服务器域名从本地计算机访问我的 nodejs Web 服务器?

来自分类Dev

NodeJS服务器错误

来自分类Dev

ASP.NET Core-启动Web服务器花费的时间比预期的长

来自分类Dev

NodeJS 服务器-服务器安全通信

来自分类Dev

将数据从 javascript 文件传递到 nodejs 服务器 - Nodejs

来自分类Dev

在服务器和任意NodeJS进程之间创建Web套接字流

来自分类Dev

Web服务器(tomcat,jboss..etc)可以与nodejs通信吗?

来自分类Dev

使用NodeJS在Web服务器上运行简单脚本

来自分类Dev

从 NodeJS 服务器向 Web 客户端发送消息

来自分类Dev

使用 nodejs 在 RHEL linux 上安装连接 Web 服务器

来自分类Dev

在NodeJS服务器之间发送文件的最有效方法是什么?

来自分类Dev

无法从客户端将文件数据发送到nodejs服务器

来自分类Dev

使用nodejs的openshift不遵守package.json中我的服务器文件的路径

来自分类Dev

如何使用NodeJS Express服务器在HTML中包含JS文件?

来自分类Dev

邮递员对NodeJS服务器的请求没有给我文件属性

来自分类Dev

将视频文件上传到NodeJS服务器的Adobe AIR应用程序

来自分类Dev

为什么我不能在nodeJS服务器上接收文件?

来自分类Dev

从nodejs中的当前服务器执行不同的server.js文件?

来自分类Dev

如何使用EJS文件从NodeJS服务器检索完整的JSON

来自分类Dev

NodeJS-服务器端文件上传处理程序

来自分类Dev

nodejs 向客户端发送文件会挂起,直到服务器被终止

来自分类Dev

如何从 nodejs 服务器上的 js 文件加载我的 js 函数?

来自分类Dev

部署Typescript NodeJS服务器

Related 相关文章

  1. 1

    从Web服务器提供服务时,NodeJS编写的文件显示404

  2. 2

    使用NodeJS更改配置文件时重新启动Web服务器

  3. 3

    专用web服务器,nodeJS无法运行app

  4. 4

    为 web CRM 部署 nodejs 服务器以进行生产

  5. 5

    angularjs nodejs从apache http服务器下载文件

  6. 6

    json文件未显示在nodejs服务器中

  7. 7

    如何使用服务器域名从本地计算机访问我的 nodejs Web 服务器?

  8. 8

    NodeJS服务器错误

  9. 9

    ASP.NET Core-启动Web服务器花费的时间比预期的长

  10. 10

    NodeJS 服务器-服务器安全通信

  11. 11

    将数据从 javascript 文件传递到 nodejs 服务器 - Nodejs

  12. 12

    在服务器和任意NodeJS进程之间创建Web套接字流

  13. 13

    Web服务器(tomcat,jboss..etc)可以与nodejs通信吗?

  14. 14

    使用NodeJS在Web服务器上运行简单脚本

  15. 15

    从 NodeJS 服务器向 Web 客户端发送消息

  16. 16

    使用 nodejs 在 RHEL linux 上安装连接 Web 服务器

  17. 17

    在NodeJS服务器之间发送文件的最有效方法是什么?

  18. 18

    无法从客户端将文件数据发送到nodejs服务器

  19. 19

    使用nodejs的openshift不遵守package.json中我的服务器文件的路径

  20. 20

    如何使用NodeJS Express服务器在HTML中包含JS文件?

  21. 21

    邮递员对NodeJS服务器的请求没有给我文件属性

  22. 22

    将视频文件上传到NodeJS服务器的Adobe AIR应用程序

  23. 23

    为什么我不能在nodeJS服务器上接收文件?

  24. 24

    从nodejs中的当前服务器执行不同的server.js文件?

  25. 25

    如何使用EJS文件从NodeJS服务器检索完整的JSON

  26. 26

    NodeJS-服务器端文件上传处理程序

  27. 27

    nodejs 向客户端发送文件会挂起,直到服务器被终止

  28. 28

    如何从 nodejs 服务器上的 js 文件加载我的 js 函数?

  29. 29

    部署Typescript NodeJS服务器

热门标签

归档