我有一个用于节点的RPC库,现在它使用远程对象的和声代理(如果它们可用)(通过检查是否存在Proxy
全局)。
我希望能够在运行时打开和声代理,也就是说,在未使用--harmony-proxy
标志启动的节点进程中。这可能吗?
我知道不有很好的理由这样做,我并不在乎:-P
编辑正如答案中所指出的,node.js代理使用较旧的规范。我可以使用像https://github.com/tvcutsem/harmony-reflect这样的垫片来解决这个问题,但这仍需要--harmony
标志来启用底层代理支持,我想知道是否可以在进程中启用它没有--harmony
标志开始。
答案 0 :(得分:3)
代理的版本取决于您使用master
还是v0.10
。最新稳定(v0.10
)使用3.14
分支,而开发(master
)使用v8 bleeding_edge
(目前位于3.20
)。所以更正确的问题是,“v8实现了什么版本的代理?”
正在对代理实现进行工作,但它现在是一个移动目标。在错误跟踪器(http://code.google.com/p/v8/issues/detail?id=1543)中引用代理实现票证,看起来将会发生另一轮更改。所以要小心即将开发。
至于在应用程序而不是命令行中启用代理,我相信您必须编写本机模块并使用V8::SetFlagsFromString
方法(https://github.com/v8/v8/blob/f281162/include/v8.h#L4341-L4344)。如果你需要一个例子,我可能会抽出时间来鞭打一个。
答案 1 :(得分:2)
Node.js实现了较旧的代理规范。不要使用它们。
https://groups.google.com/forum/?fromgroups=#!topic/nodejs/LPD8ut33-hg