如何在自定义模块中使用路由(express框架)中的数据?

我想使用来自特定路径的数据,因此其他自定义模块可以使用此数据,并在需要时进行更改,但是整个数据只能在一个地方使用。我对此几乎没有问题。

首先,我在 route1.js上的router.post中获取数据:

    var express = require('express');
    var app = express();
    var router = express.Router();
    var module1 = require('../module`enter code here`s/module1.js'); // custom module for tests purposes only

    router.post('/data',function(req,res){
     var data = req.body.form_input;
     // let suppose I manage some additional work with data and finally get this globals object with all necessary data:
        var globals = {
            a : 'A',b : 'B',c : 'C'
        };
        /* module1('Our message from ROUTE1 - processed by MODULE1'); */
    });
module.exports = {
    router : router,globals : globals
};

问题是如何在route中使用globals对象,以便其他模块可以使用它?如您所见,globalS对象不是真正的全局对象,它在router.post函数的范围内。

module1.js 代码:

var mod1 = require ('../routes/route1.js'); // cause we need globals object with all the data in it - but how to get it?

// this is just simple function presentation to better describe the problem
var logger = function(msg)
{
    console.log(msg);
}

module.exports = logger;

现在,当我们在route1.js中放置以下代码时-撤消/ * * /中的注释:

module1('Our message from ROUTE1 - processed by MODULE1');

我们可以看到一条消息-模块可见并且可以正常工作。但是我不能编辑全局对象。

现在,除了所有这些代码之外,另一个问题是模块应该使用哪种设置?我应该使用node.js版本,ES6版本(* .mjs --experimental-modules)还是仅使用babel / webpack编译所有内容?将来的正确模式是执行“模块”操作的哪个版本?

linlongzhou 回答:如何在自定义模块中使用路由(express框架)中的数据?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3136551.html

大家都在问