在服务器运行时从数据库加载节点“代码”

时间:2017-12-14 07:06:40

标签: node.js express

我希望以模块化方式构建我的项目,以便在添加服务器时添加API端点。

动态添加路由我应该能够弄明白,它正在运行最近上传的服务器代码,这是我无法弄清楚的。

我的项目有一个“每端点类”结构。端点有一个附加的类,可以运行代码并执行此操作。

端点也可以依赖于另一个端点/类,所以我希望能够做的是调用动态添加的类的构造函数并在服务器上有效地运行代码(没有API调用自身)。

刚刚添加“NewAdder”端点的示例。最基本的东西,但我只是希望我很清楚我想要实现的目标。基本上是尝试动态添加到服务器的代码库。

modifier.ts

class Modifier {
    constructor(initiatedBy) {
        this.initBy = initiatedBy;
        this.modifierValue = db.getValue("modifier", {user = this.initBy})
    }
    function modify(toModify) {
        return toModify * this.modifierValue
    }
}

newAdder.ts

class NewAdder {
    constructor(initiatedBy) {
         this.initBy = initiatedBy;
    }
    modifier = new Modifier(this.initBy);
    function addAndModify(a,b) {
        return modifier.modify(a + b)
    }
}

router.ts(这在现实生活中会是动态的)

app.get('/newadder/addandmodify/', function(req, res){
    adder = new NewAdder(req.params.user);
    res.send(adder.addAndModify(req.params.first, req.params.second);
});

希望我有所作为。

1 个答案:

答案 0 :(得分:0)

经过一些研究后,我想我可以使用http来获取,然后动态地需要模块。

代码将来自我们自己的服务器,因此在服务器中运行应该是安全的。

但如果有人知道如何解决这个问题,我将不胜感激。