Получите комментарии класса / функции во время выполнения - PullRequest
0 голосов
/ 05 февраля 2019

Я ищу способ получения комментариев от класса и функции во время выполнения в приложении Angular с целью создания пользовательского документа.Использование внешнего инструмента для создания документации не соответствует моим требованиям.Мне действительно нужно сгенерировать документацию самостоятельно.

Я провел несколько испытаний, и на данный момент у меня есть два возможных случая:

  1. Загрузка соответствующих классов какстрока и извлечение комментариев с помощью строковых манипуляций (на мой взгляд, это не самый лучший случай).

  2. Импорт классов и использование ts для извлечения комментариев.На этом этапе я сталкиваюсь с некоторыми ошибками в моем приложении Angular, когда пытаюсь импортировать ts: import * as ts from 'typescript'.Это, очевидно, вызывает круговую ссылку.Этот код показывает, как извлечь комментарии из класса, но кажется, что его нельзя использовать в приложении Angular во время выполнения: фабрика комментариев из источников TypeDoc

Есть ли у кого-тоидея, как извлечь комментарии из ссылки на класс или из строки, представляющей класс?

1 Ответ

0 голосов
/ 05 февраля 2019

То, что вы запрашиваете, - это реализация метапрограммирования в TypeScript, которая в данный момент недоступна.Вы должны понимать, что браузер не запускает код TS напрямую.Вместо этого код компилируется в JavaScript, и только тогда происходит время выполнения.И комментарии есть только для того, чтобы программист мог их увидеть - его не нужно переносить в результирующий переносимый код JS.

Typedoc работает только во время компиляции, поэтому он имеет доступ ко всем исходным файлам TS.Если вы хотите создать свой собственный инструмент для разбора документации, это нормально, но вам нужно будет много узнать о том, как работает синтаксический анализ языка программирования.Ищите «книгу дракона», « Давайте создадим простой интерпретатор » и другие источники.

...