Что импортируется с помощью оператора импорта Gjs?

Если я смотрю код Gjs и вижу эту строку в начале:

const Gio = imports.gi.Gio;

Как я могу узнать, какие методы, константы, события и т. д. находятся в «Gio» (без поиска в Google)? Есть ли где-нибудь в моей установке файл, содержащий эту информацию?

Очевидно, я прошу любое заявление об «импорте», а не конкретно Джио.


person Marcel Lamothe    schedule 22.09.2013    source источник


Ответы (2)


Некоторые операторы импорта импортируют другие файлы javascript:

  • imports.ui.* -> /usr/share/cinnamon/js/ui/*
  • imports.misc.* -> /usr/share/cinnamon/js/misc/*
  • imports.[cairo, dbus, format, gettext, jsUnit, lang, promise, signals] -> /usr/share/gjs-1.0/

Для импорта imports.gi используется Gnome Introspection, чтобы позволить gjs использовать библиотеку C.
Поэтому, чтобы получить информацию об этих библиотеках, я предлагаю вам посмотреть справочные руководства Gnome:

Но в заключение скажу, что очень не хватает документации и примеров. Это затрудняет разработку с помощью gjs.

ОБНОВЛЕНИЕ
Здесь другие полезные ссылки:

person Nicolas    schedule 23.09.2013
comment
Благодарю вас! И да, мне невероятно сложно разрабатывать с помощью gjs. Что касается ссылок, которые вы предоставили, я нашел их, но не всегда очевидно, что такое имена функций C (и параметры) по сравнению с тем, что они есть в gjs, поэтому сейчас я использую инструкции в блоге, который я опубликовал, чтобы получить фактическая документация gjs. - person Marcel Lamothe; 23.09.2013
comment
Вы правы, самое сложное — найти преобразование из C-оператора в gjs-оператор. - person Nicolas; 24.09.2013
comment
Для объектов imports.gi в настоящее время существует people.gnome.org/~gcampagna/docs это вполне нормально для выяснения, что есть что. Общие правила о том, как сопоставить документацию C с эквивалентным Gjs, можно найти на wiki.gnome.org/Projects/Gjs. /Mapping (полезно для библиотек GObject Intrespection, не включенных в документы gcampana). - person Daniel Landau; 13.12.2015
comment
Вы также можете добавить записи в путь поиска: imports.searchPath.push("/.../mymodule") Файлы (и папки) в /.../mymodule будут импортированы imports.name_of_file - person olejorgenb; 14.09.2017

Поскольку у меня не было ответов, я продолжал искать в Интернете и нашел этот отличный пост в блоге о том, как генерировать документацию в формате HTML из файлов typelib (таких как Gio-2.0.typelib):

http://mathematicalcoffee.blogspot.com/2012/09/developing-gnome-shell-extensions_6.html

person Marcel Lamothe    schedule 23.09.2013
comment
Не совсем ответ на этот вопрос, но в любом случае ссылка на него из-за огромного количества труднодоступной информации: оболочка GNOME: исходная документация по Javascript (разработка расширений) mathematicalcoffee.blogspot.com/2012/09/ - person Marcel Lamothe; 23.09.2013