cometd
(发布/订阅协议)显然不是在使用nodejs构建的,因为它充满了references to window
。
为了“修补”节点,cometd组织发布了另一个模块cometd-nodejs-client
,该模块基本上只设置了expected dependencies on the global window
。
但是,这种方法的问题在于,任何其他“同构”节点模块现在都可能会看到window
并认为它们正在浏览器中执行。在我的情况下,jsforce
会抛出一个NPE here(这可能是jsforce的次要问题……它应该同时检查window
和location
)。
似乎有更好的方法可以做到这一点。答案可能是将cometd
库本身改写为“同构”,但这似乎不太可能。
是否可以在某个范围内设置window
,以便只有cometd
库可以看到它?
我认为答案可能是简单的否,但我只想检查一下。