node.js / 如何在v8上运行?

它是否使用像这样的任何库:

http://code.google.com/p/v8-juice

http://ui.ajax.org/#o3

https://github.com/tsa/vu8

还是它写了自己的库? 如果v8是为执行javascript而编写的,为什么node.js库使用C代码? 只是为了文件系统/事件的东西? 如果是这样,为什么这是必要的,不是v8需要事件和文件系统的东西本身?

如果我想使用一个只支持C api的数据库,那么我该如何去做呢? 现在我可能会写一个v8果汁插件。

node.js包含了它自己的v8embedded式版本(不知道它是否是自定义的,但它可能是)。

Javascript本身没有提供像文件系统I / O这样的接口,所以你作为embedded器(在这种情况下是节点)必须提供本地代码对象来公开这个function。 顺便说一下,浏览器对DOM和networkingfunction也是一样的。

如果我想使用一个只支持C api的数据库,那么我该如何去做呢?

你需要一个node.js扩展名(本地代码插件)。 如果你幸运的话,有人已经为你的数据库系统做过了,如果没有的话,看一下类似的扩展的源代码,以及如何写这些扩展。 这里是一篇介绍文章 。 您需要熟悉编写v8扩展,因为这是一个节点扩展基本上是。

如果你正在通过networking连接与数据库交谈,并且想要自己实现有线协议,那么你也可以尝试用纯Javascript来做到这一点, 就像有人为MySQL做的一样。