2012-02-07 54 views
3

我有一个JavaScript文件,通常在使用脚本标记的Web浏览器中使用。它是一个自动执行的函数,似乎将一个对象放在窗口上(窗口被传入)。node.js基于浏览器的API

从服务器上的node.js使用它最简洁的方法是什么?

感谢,

加雷思

+0

您是否期待:(a)使用此文件从节点而不做任何更改? (b)制作一个可以在Node中工作的独立版本?或(c)制作对浏览器和节点都友好的文件的单一版本? – 2012-02-07 14:08:29

+0

它需要是相同的文件,对于延迟抱歉。 – ridecar2 2012-02-14 12:37:20

+0

好的,这消除了三种选择之一。您是否愿意/能够对此文件进行修改以使其正常工作(c),还是您必须原样使用原始文件(a)? – 2012-02-14 12:51:10

回答

2

如果它是所有属性添加到window,和你想获得那些退了出来,你可以创建一个全球性的名为window

global.window = {}; 
require('theLibrary'); 
// now do something with global.window.theThingItAdded 

然而,如果该库是为浏览器编写的,那么它可能仍然不会运行,因为它想要使用DOM。在这种情况下,您可能需要查看jsdom,它旨在为您提供Node内部符合规范的DOM。

(如果你使用jsdom,我认为你会用它来代替global.window上面 - 我认为jsdom会替你,但有更多的全功能窗口对象我的天堂”。但实际上使用jsdom,所以我不确定。)