Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何导入可能有语法错误的模块?_Javascript_Node.js_Express_Require - Fatal编程技术网

Javascript 如何导入可能有语法错误的模块?

Javascript 如何导入可能有语法错误的模块?,javascript,node.js,express,require,Javascript,Node.js,Express,Require,我有两个脚本a.js&b.jsb.js中可能有语法错误。我该怎么解释呢 a.js let codeForRunning = require('b.js'); try { resultOfCode = codeForRunning.func(TEST); } catch (err) { resultOfCode = err } function myFunction (argument) { return 'Hello world } module.exports =

我有两个脚本
a.js
&
b.js
b.js
中可能有语法错误。我该怎么解释呢

a.js

let codeForRunning = require('b.js');

try {
    resultOfCode = codeForRunning.func(TEST);
}
catch (err) {
    resultOfCode = err
}
function myFunction (argument) {
    return 'Hello world
}

module.exports = { func: saveWrittenCode }

b.js

let codeForRunning = require('b.js');

try {
    resultOfCode = codeForRunning.func(TEST);
}
catch (err) {
    resultOfCode = err
}
function myFunction (argument) {
    return 'Hello world
}

module.exports = { func: saveWrittenCode }

您可以在try/catch块上要求模块:

试试看{
常数b=要求('./b');
//代码
}捕捉(错误){
log('无法加载模块b');
}
另一种方法是将模块作为文本加载,并在运行时进行计算:

const fs=require('fs');
const b=fs.readFileSync('./b.js','utf8');
试一试{
评估常数=评估值(b);
//代码
}捕捉(错误){
log('无法加载模块b');
}
Obs:确保您要评估的代码是可信的,否则您将容易受到远程代码执行的攻击