Я пытаюсь задокументировать файл Javascript с помощью JSDoc (3) следующим образом:
/** 1 if gnome-bluetooth is available, 0 otherwise
* @type {boolean}
* @const
*/
const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
Теперь файл (названный config.js.in
) не является действительным Javascript; файл запускается через Makefile, который заменяет подходящее значение для @HAVE_BLUETOOTH@
.
Когда я пытаюсь запустить JSdoc на этом, он (по понятным причинам) отказывается из-за синтаксической ошибки в файле.
Есть ли способ заставить JSDoc игнорировать весь код в этом файле, а просто учитывать аннотации? (Возможно, мне придется добавить теги @name
к каждому доклету, чтобы полностью отделить документацию от кода; это нормально).
Что-то типа:
/** 1 if gnome-bluetooth is available, 0 otherwise
* @name HAVE_BLUETOOTH
* @type {boolean}
* @const
*/
/** @ignore */ // somehow ignore from here onwards
const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
/** !@ignore */ // somehow don't ignore from here onwards (although I'd be happy
// to ignore the entire file)
Я бы предпочел не изменять кодовую часть файла, если это возможно (я добавляю документацию в существующий проект). Например, я, вероятно, мог бы обойти это с помощью
const HAVE_BLUETOOTH = parseInt('@HAVE_BLUETOOTH@', 10);
что сделало бы файл снова верным синтаксисом JS, чтобы синтаксический анализатор не жаловался, но это также означает, что я изменяю код исходного файла, которого я хочу избежать (я предпочитаю просто добавить документацию).
ваше здоровье