- Во-первых, игнорируйте папку docs, если вы не хотите, чтобы документы находились в репозитории, добавив:
/docs to .gitignore file
2. Создайте файл jsdoc.conf.json со следующим содержимым:
{ "tags": { "allowUnknownTags": true, "dictionaries": ["jsdoc", "closure"] }, "source": { "include": ["src"], "includePattern": "\\.(jsx|js|ts|tsx)$", "excludePattern": "(^|\\/|\\\\)_" }, "plugins": ["plugins/markdown", "better-docs/component", "better-docs/typescript"], "templates": { "better-docs": { "name": "Your App Name" } }, "opts": { "destination": "docs", "recurse": true, "readme": "README.md" } }
3. Установите два модных пакета:
yarn add better-docs yarn add jsdoc
or:
npm install better-docs npm install jsdoc
4. Добавьте скрипт для генерации документов:
В раздел скриптов файла package.json добавьте:
"docs": "jsdoc -c jsdoc.conf.json"
5. Если вы используете Tslint, игнорируйте документы из проверки:
"linterOptions": { "exclude": [ ... "docs" ] },
6. Отметьте все, что вы хотите видеть в документации, хотя бы пустым тегом jsdoc:
/** * */ export const ...
7. Отметьте модуль для каждого файла, который что-то экспортирует, потому что jsdoc неправильно генерирует модули на основе пути:
/** * @module scenes/Scene1/Button */ .... rest of the file
8. Создайте документацию с помощью:
yarn run docs
or:
npm run docs
9. Обратите внимание, что не все члены генерируются внутри соответствующих модулей, которые вы определили, они перейдут в глобальные интерфейсы и глобальные члены.
10. Переместите комментарий к определению модуля ниже импорта и введите определения:
imports .... type definitions /** * @module scenes/Scene1/Button */
Снова запустите сборку документов с помощью восьмого шага. И ваши документы готовы.
Пс. Если вы знаете, как его улучшить, дайте мне знать в комментариях!