#javascript #python #python-sphinx #jsdoc
#javascript #питон #python-sphinx #jsdoc
Вопрос:
У меня есть проект с кодом на Python и Javascript, который я хотел бы задокументировать с помощью Sphinx. Мне не удается заставить sphinx_js работать. Мой проект Sphinx находится во вложенной папке docs. Код Javascript находится во внешнем интерфейсе / src, поэтому в моем docs/conf.py
я настроил:
js_source_path = "../frontend/src"
Мой JS-код в frontend/src/foo_controller.js
выглядит следующим образом:
/**
* Some JSDoc like documentation just for testing.
*/
export default class extends Controller {
/**
* More JSDoc documentation for a function.
*/
connect() {...}
}
В моем индексе.сначала у меня есть:
.. js:autoclass:: ???
:members:
Что бы я ни пробовал для ???
(foo_controller, controller / foo_controller, FooController, …) Я всегда получаю сообщение об ошибке:
Не было найдено документации JSDoc для объекта «…» или любого пути, заканчивающегося на это.
Как мне заменить ???
, чтобы задокументировать мой класс?
Комментарии:
1. Я не пробовал это, но
autodoc
логика именования объекта (вашего???
) была быpackage.module.class
в этом случае. Интересная вещь (если я не ошибаюсь) заключается в том, чтоexport default class
безымянный (вам придется поправить меня в этом). Итак, каким бы именем вы ни ссылались на «безымянный класс» , это должно быть то, что вы использовали бы в???
maybedefault
, илиfoo_controller.default
. Обходным путем было бы присвоить ему имя и попробовать использовать это имя… (Я размышляю по сравнению с python-sphinx)2.
js_source_path
должно быть , по отношению к вашемуconf.py
. В вашем проекте вы настроили это значение таким образом, чтобыfrontend
иdocs
были братьями и сестрами в одной папке. Это правильно? Предполагая, что это правильно, тогда попробуйте.. js:autoclass:: Controller
. Если это не сработает, то, возможно, проблема заключается вexport default
orextends
внутри вашего объявления класса?