我想在节点后端添加一个“动态”部分,以便我可以快速轻松地添加/编辑简单的JS代码片段。理想情况下,这些代码段的JavaScript代码将存储在数据库中,并直接从db加载(«required»)。
如果db中的代码发生更改,这些更改将立即生效 - 因此应在每个请求上加载脚本。
有没有办法使用Node.js实现这一目标?
答案 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秒访问数据库的轮询函数。