我试图将使用V8(D8)二进制文件构建的JS应用程序转换为节点。NodeJS运行所有包含在相同的范围/上下文
在V8中,您可以简单地使用load('path/to/file.js');
,它将包含与当前上下文相同范围内的文件。
包含的文件具有许多全局变量和函数。我真的不想去重写所有这些文件(数百个文件,数千行)来使用Node的模块模式。
他们还需要读取和写入全局范围内的变量。
那么如何在Node中包含文件,但是在相同的范围/上下文中。
这里是脚本的一个示例:
bootstrap.js:
var entityID = 12345;
load("environment.js");
function readEntity(id) { ... }
load("config.js");
writeEntity(entity);
environment.js:
function writeEntity(entity) { ... }
entityID += 1;
config.js:
var entity = readEntity(entityID);
D8信息:http://www.sandeepdatta.com/2011/10/using-v8-javascript-shell-d8.html