我读了关于object自省架构的文章。在一边,我有一个。so动态库,在另一边,我有一个女孩文件(某种xml文件)的javascript绑定,这导致编译的typelib文件。
我的大多数typelib文件都在/lib/x86_64-linux-gnu/girepository-1.0目录下例如WebKit2-4.0.typelib.
我怎么知道,我必须使用,(定义在哪里?)
const Webkit=imports.gi.WebKit2;
因为我试过
const Webkit=imports.gi["WebKit2-4.0"];
或const Webkit=imports.gi.WebKit;
如果我使用导入。Gi, GJS搜索typelib文件。它搜索的目录,我可以得到Gir=imports.GIRepository; log (Gir.Repository.get_search_path());
为其他id然后'gi',导入[目录][…][filename],则在数组导入中定义的目录中搜索。Javascript文件的searchPath,对吧?
最后一个问题- GJS页面上的引用:有很多函数,它们存在于引用中,但随后不可用。还有其他好的参考资料吗?
我怎么知道,我必须使用,(定义在哪里?)
可能找到你不知道的GIR导入名称的最简单方法是浏览API文档,例如WebKit2
。当然,您必须为这些库安装相应的包。
为其他id然后'gi',导入[目录][…][filename],则在数组导入中定义的目录中搜索。Javascript文件的searchPath,对吧?
是的,imports.searchPath
数组用于JavaScript源。你可以在GJS项目文档中阅读这些导入。
gjs页面上的引用:有很多函数,它们存在于引用中,但随后不可用。还有其他好的参考资料吗?
您必须更清楚地了解您正在查看的GJS页面以及哪些函数。下面是一些GJS文档的链接:
- 数次。指南(教程、特定主题指南、提示和示例)
- GJS项目文档(关于GJS本身的文档)
- API文档(自省C库文档)
我们还为GJS提供了矩阵通道,您可以在其中寻求帮助:
- https://matrix.to//# javascript: gnome.org (javascript)
- https://matrix.to/#/#extensions:gnome.org (GNOME Shell Extensions)