Nodejs中被 require 的模块是如何能够调用到主模块中定义的变量的
Nodejs中被 require 的模块是如何能够调用到主模块中定义的变量的
module.exports = (pwd, data, ext = null) => {
// 生成一个随机变量名
let randomID;
if (ext.opts.otherConf[‘use-random-variable’] === 1) {
randomID = antSword.utils.RandomChoice(antSword[‘RANDOMWORDS’]);
} else {
randomID = ${antSword['utils'].RandomLowercase()}${Math.random().toString(16).substr(2)}
;
}
data[randomID] = Buffer
.from(data[’’])
.toString(‘base64’);
data[pwd] = @eval(@base64_decode($_POST['${randomID}']));
;
delete data[’’];
return data;
}
该代码片段来自蚁剑.
- 其中 antSword 是定义于 app.entry.js 中的一个常量
- 在某些过程中,上面的代码片段会被动态 require.
我尝试写了一个 test.js,在其中定义 antSword 常量
然后再动态调用上面的代码,但是它会抛出 ReferenceError: antSword is not defined 异常