2011-04-29 36 views
1

是否使用任何像這樣的庫: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-juice插件。

回答

4

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

Javascript本身並沒有提供像文件系統I/O這樣的接口,因此作爲嵌入器(在這種情況下節點)必須提供本地代碼對象來公開該功能。順便說一句,瀏覽器對DOM和網絡功能也是一樣。

如果我想使用只支持C api的數據庫,那麼我該如何去做呢?

你需要一個node.js擴展名(本地代碼插件)。如果幸運的話,有人已經爲你的數據庫系統做過了,如果沒有,請查看源代碼,以獲得類似的擴展以及如何編寫這些擴展。這裏是an introduction article。你需要熟悉編寫v8擴展,因爲這是一個節點擴展。

如果你交談的數據庫通過網絡連接,並感覺自己實現有線協議,你也可以嘗試這樣做,在純JavaScript,like someone did for MySQL.

相關問題