Node.js 从字符串到对象的Require()

Node.js 从字符串到对象的Require(),node.js,require,Node.js,Require,假设我有一个字符串形式的js文件的内容。此外,假设它有一个导出['default']=function(){…}和/或其他导出的属性或函数。有没有办法将它从那个字符串“要求”(编译)成一个对象,这样我就可以使用它?(另外,我不想像require()那样缓存它。)下面是一个非常简单的示例,使用: 或者,如果您不想使用globals,可以使用eval实现类似的功能: let sandbox = {}; let wrappedCode = `void function(exports) { $

假设我有一个字符串形式的js文件的内容。此外,假设它有一个
导出['default']=function(){…}
和/或其他导出的属性或函数。有没有办法将它从那个字符串“要求”(编译)成一个对象,这样我就可以使用它?(另外,我不想像
require()
那样缓存它。)

下面是一个非常简单的示例,使用:

或者,如果您不想使用globals,可以使用
eval
实现类似的功能:

let sandbox     = {};
let wrappedCode = `void function(exports) { ${ code } }(sandbox)`;

eval(wrappedCode);

sandbox.default(); // "hello world"
这两种方法都假定您提供给它的代码是“安全的”,因为它们都允许运行任意代码

let sandbox     = {};
let wrappedCode = `void function(exports) { ${ code } }(sandbox)`;

eval(wrappedCode);

sandbox.default(); // "hello world"