節點gir是node.js綁定到gobject內省的綁定,使得可以自動和動態呼叫對安裝GI註釋的任何庫進行自動和動態調用。這包括GNOME項目中的大多數圖書館。
這將使完全可以從節點中腳本從節點中腳本腳本,以種子,GJS或pygtk的方式進行腳本。它還允許在Node.js應用程序中使用GNOME庫。有了它,您還可以在Vala中編寫應用程序的性能密集型部分,並從Node.js和其他語言中調用它們。
您需要安裝GoBject內省庫。在類似Debian的系統上,這將由以下操作來處理:
$ sudo apt-get install libgirepository1.0-dev
然後,只需使用以下方式構建節點-GIR
$ npm install gir
節點 - 吉爾存儲庫帶有一組測試,這些測試利用Midgard2庫進行測試。您還需要安裝的,然後運行:
$ npm test
特拉維斯用於連續集成:
以下圖顯示了所有部分以及它們如何一起工作。唯一缺少的部分是與libgirepository的節點綁定。因此這個項目。
BUILD TIME:
+-----------------------------------------------------------+
| foo.c |
| foo.h |
| |
| Library sources, with type annotations |
+-----------------------------------------------------------+
| |
gcc g-ir-scanner
| |
| V
| +------------------------+
| | Foo.gir |
| | |
| | <GI-name>.gir |
| | |
| | XML file |
| | |
| | Invocation information |
| | Required .gir files |
| | API docs |
| | |
| +------------------------+
| |
| g-ir-compiler
| |
DEPLOYMENT TIME: |
| |
V V
+-----------------------------+ +---------------------------+
| libfoo.so | | Foo.typelib |
| | | |
| | | Binary version of the |
| ELF file | | invocation info and |
| | | required .typelib files |
| Machine code, plus | +---------------------------+
| dynamic linkage information | A
| (DWARF debug data, etc) | |
+-----------------------------+ |
A |
| +---------------------------+
| | libgirepository.so |
+-----------+ | |
| libffi.so | | Can read typelibs and |
| | | present them in a |
+-----------+ | libffi-based way |
A | |
| +---------------------------+
| A
| |
| +------------+
+--------------------------| node-gir |
| |
+--------->+------------+
|
+------------------+
| NodeJS |
+------------------+
因為它們很好,但不是我想要的。節點確實很受歡迎,能夠將其用於桌面工具和應用程序會很高興。
這是一些鏈接和筆記,因為我試圖弄清楚如何做到這一點。
這些想法中的一些將會在這種綁定中進行,其中一些想法將使用使用它的好包裝紙。隨著我們的進展,我會知道更多。
camelCase
來進行看上去可javascripty的方法。.on(name, callback)
附加信號。