Node.js后端/服务器:无法在“新函数”实例中使用“require”
我试图在用Node.js后端/服务器:无法在“新函数”实例中使用“require”,node.js,error-handling,Node.js,Error Handling,我试图在用新函数初始化的函数中使用require。是否有一种方法允许在字符串中使用require语句 //test.js 设fn字符串=` 常数os=要求(“os”); 返回os.platform(); `; const fn=新函数(fnString); console.log(fn()); 正在运行文件test.js: $node test.js 未定义:4 常数os=要求(“os”); ^ ReferenceError:未定义require at eval(eval at({path}/
新函数
初始化的函数中使用require
。是否有一种方法允许在字符串中使用require语句
//test.js
设fn字符串=`
常数os=要求(“os”);
返回os.platform();
`;
const fn=新函数(fnString);
console.log(fn());
正在运行文件test.js:
$node test.js
未定义:4
常数os=要求(“os”);
^
ReferenceError:未定义require
at eval(eval at({path}/test.js:8:12),:4:12)
反对。({path}/test.js:9:13)
已成功使其与节点一起工作
REPL:
$node
欢迎使用Node.jsv14.4.0。
键入“.help”以获取更多信息。
>f=新函数(`
常数os=要求(“os”);
返回os.platform();
`);
>f()
“linux”
>
您可以将require
作为参数添加到函数中,并将其传递给函数,如下所示:
let fnString = `
const os = require("os");
return os.platform();
`;
const fn = new Function('require', fnString);
console.log(fn(require));
您能否使用var将require声明为全局函数并进行尝试…现在我得到以下错误:
TypeError:require不是函数
忘记在函数调用中传递require
。这确实管用!