我試圖將使用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