Node.js从数据库加载脚本

时间:2018-03-29 07:14:32

标签: node.js

我想在节点后端添加一个“动态”部分,以便我可以快速轻松地添加/编辑简单的JS代码片段。理想情况下,这些代码段的JavaScript代码将存储在数据库中,并直接从db加载(«required»)。

如果db中的代码发生更改,这些更改将立即生效 - 因此应在每个请求上加载脚本。

有没有办法使用Node.js实现这一目标?

1 个答案:

答案 0 :(得分:2)

将代码作为文本条目存储在数据库中,并使用数据库调用进行检索。反应性地做这个问题本身就是一个问题,并且取决于您使用的是哪个数据库(例如,对Mongo中的oplog做出反应)。

检索文本后,您需要以某种方式执行代码。您可以在JavaScript中使用eval执行此操作,但您需要信任该代码!您只需在javascript中调用eval(codeRetrievedFromDb);

即可

示例:

var str_fun = "function custom_fun(arg) { return 'hello'; }";

eval(str_fun);

function usefun(x)
{
  var res = custom_fun(x);
  //print hello
  console.log(res);
}

对于问题的第二部分,我建议创建一个每隔X秒访问数据库的轮询函数。