Node.js从数据库加载脚本
我想在我的节点后端添加一个«dynamic»部分,这样我就可以轻松地快速添加/编辑简单的JS代码片段。理想情况下,这些代码片段的JavaScript代码将存储在数据库中,并直接从数据库加载(«必需») 如果数据库中的代码发生更改,这些更改将立即生效-因此应该在每个请求上加载脚本Node.js从数据库加载脚本,node.js,Node.js,我想在我的节点后端添加一个«dynamic»部分,这样我就可以轻松地快速添加/编辑简单的JS代码片段。理想情况下,这些代码片段的JavaScript代码将存储在数据库中,并直接从数据库加载(«必需») 如果数据库中的代码发生更改,这些更改将立即生效-因此应该在每个请求上加载脚本 有没有办法使用Node.js实现这一点?将代码作为文本条目存储在数据库中,并使用数据库调用检索代码。反应性地这样做本身就是一个问题,这取决于您使用的数据库(例如,对Mongo中的oplog作出反应) 在检索文本之后,您需
有没有办法使用Node.js实现这一点?将代码作为文本条目存储在数据库中,并使用数据库调用检索代码。反应性地这样做本身就是一个问题,这取决于您使用的数据库(例如,对Mongo中的oplog作出反应) 在检索文本之后,您需要以某种方式执行代码。您可以使用JavaScript中的
eval
实现这一点,但您需要信任代码!您只需调用eval(codererievedfromdb)
例如:
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秒创建一个访问数据库的轮询函数。将代码作为文本条目存储在数据库中,并使用数据库调用检索它。反应性地这样做本身就是一个问题,这取决于您使用的数据库(例如,对Mongo中的oplog作出反应)
在检索文本之后,您需要以某种方式执行代码。您可以使用JavaScript中的eval
实现这一点,但您需要信任代码!您只需调用eval(codererievedfromdb)
例如:
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秒创建一个访问数据库的轮询函数。脚本是指一些配置还是执行一些任务的脚本,如create.edit,按脚本删除文件您的意思是它们是一些配置还是执行某些任务(如创建、编辑、删除文件)的脚本