更改Node中的主环境

时间:2011-05-29 00:49:10

标签: javascript node.js

你们中的一些人可能会或可能不会(可能不会)了解我的framework。它的名字是Ally,我非常喜欢使用它。

最近我在Node.js做了一些小事。今天我决定将它用作我的HTTP服务器,这样我就可以做服务器端的JS(以PHP的方式)。

为此,我开始了一个我正在调用Trailer的项目。在处理它时,我发现自己需要Ally的一个功能,即Object:deploy。它的作用几乎就是这样:

var a = { a: 'a' };
a.deploy({ b: 'b' });
a.a; // 'a'
a.b; // 'b'

所以我加载了它..

var Ally = require('./Ally.js');

..但是当我尝试使用它时,它说它未定义。

经过一番挖掘后,我发现Object:deploy是在Ally.js文件中定义的,但它对全局构造函数所做的更改并没有停留。

如何对Ally.js文件中的全局变量进行更改应用于需要它的文件中的全局变量?

注意:如果查看源代码可能会有所帮助,Ally会链接到上面,并且当我获得可用的版本时,Trailer会链接到以防万一有人想要使用它。

1 个答案:

答案 0 :(得分:2)

this discussion是否相关?这里的关键点似乎是:

    如果你在shell中工作,
  1. require将不会扩展全局对象

  2. NODE_MODULE_CONTEXTS = 1时它也不起作用,但这似乎不是脚本的默认设置。

  3. 因此,如果您尝试在交互式shell中运行它,那可能就是问题所在。另请参阅this SO question