改变Node中的主要环境
有些人可能(也可能不))知道我的框架 。 它的名字是盟友,我绝对喜欢使用它。
最近我在Node.js中做了一些小东西 今天,我决定将它作为我的HTTP服务器,以便我可以做服务器端的JS(以PHP的方式)。
为了做到这一点,我开始了一个叫拖车的项目。 在工作的同时,我发现自己需要Ally的一个function,Object:deploy。 它所做的几乎是这样的:
var a = { a: 'a' }; a.deploy({ b: 'b' }); aa; // 'a' ab; // 'b'
所以我加载了..
var Ally = require('./Ally.js');
但是,当我尝试使用它,它说这是不明确的。
经过一番挖掘,我发现Object:deploy是在Ally.js文件中定义的,但是它对全局构造函数所做的更改不会保留。
如何在Ally.js文件中对全局variables进行更改应用于需要它的文件中的全局variables?
注意:如果通过源代码可以提供帮助的话,Ally就会和上面的代码链接起来,并且Trailer会被链接到任何人想要使用它的时候。
这个讨论有关吗? 这里的关键点似乎是:
-
如果你在shell中工作,
require
不会扩展全局对象 -
当
NODE_MODULE_CONTEXTS = 1
时它也不起作用,尽pipe这似乎不是脚本的默认值。
所以如果你想在交互式shell中运行这个,那可能是问题所在。 另见这个SO问题 。