node.js / [我自己的库/插件]如何在v8上运行?

时间:2011-04-29 09:26:57

标签: c++ node.js v8

它是否使用这样的库:

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

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

https://github.com/tsa/vu8

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

如果我想使用仅支持C api的数据库,我该怎么做呢?现在我可能会写一个v8-juice插件。

1 个答案:

答案 0 :(得分:4)

node.js包含自己的嵌入版本的v8(不确定它是否是自定义的,但它可能是)。

Javascript本身不提供文件系统I / O之类的接口,因此您作为嵌入器(在本例中为节点)必须提供本机代码对象来公开该功能。顺便说一下,浏览器为DOM和网络功能做同样的事情。

  

如果我想使用仅支持C api的数据库,我该怎么做呢?

你需要一个node.js扩展名(本机代码插件)。如果你很幸运,有人已经为您的数据库系统做了准备,如果没有,请查看源代码以获得类似扩展的信息。这是an introduction article。你需要熟悉编写v8扩展,因为这就是节点扩展的基本原理。

如果您通过网络连接与数据库通信,并且想要自己实现有线协议,那么您也可以尝试在纯Javascript中执行此操作,like someone did for MySQL.