npm 包 extract-typedefs 使用教程

随着前端开发的快速发展,模块化已经成为了几乎每个项目的必需品。在面对大量的模块代码时,我们需要工具来帮助我们自动生成类型定义文件(TypeScript)和 API 文档。在这篇文章中,我们将介绍一个非常好用的 npm 包:extract-typedefs

extract-typedefs 概述

extract-typedefs 是一个用于生成 TypeScript 类型定义文件的工具,它的主要特点是自动解析 JavaScript 源代码中的类型信息(包括 JSDoc 注释),以生成 TypeScript 的类型定义文件。

extract-typedefs 可读取 JavaScript 文件或 TypeScript 文件,生成对应的 TypeScript 类型定义文件。在自动生成类型定义文件的同时,它还可以生成方便的 API 文档。

安装

使用以下命令可以安装 extract-typedefs

--- ------- -- ------------------------ ----------

命令解释:

  • -D 表示将包安装到开发依赖里;
  • @microsoft/api-extractor 是用于生成 API 文档的核心包;
  • typescript 是用于编译 TypeScript 代码的包。

使用方法

简单使用

在安装好 extract-typedefs 后,我们就可以使用它来生成 TypeScript 类型定义文件和 API 文档了。

假设我们要生成的 TypeScript 类型定义文件名为 mytype.d.ts,那么命令如下:

--- ---------------- -------- -------- -- -----------
  • file1.jsfile2.js 为需要生成类型定义文件的源文件;
  • -o 表示输出路径,跟在后面的是输出的目标路径与文件名。

执行上述命令后,mytype.d.ts 就会生成了。

指定构建配置

extract-typedefs 也可以在项目中配置构建规则,具体方法如下:

  1. 在项目根目录下新建 api-extractor.json 配置文件:
-
  ---------- ------------------------------------------------------------------------------------------
  ------------------------- -------------------
  ----------- -
    ---------- ----
  --
  ------------ ---
  ------------ -
    ---------- -----
    ----------------- --------------------
  -
-

其中:

  • mainEntryPointFilePath 是类型文件所在的目标路径(相对路径或绝对路径均可);
  • docModel 表示生成 API 文档;
  • apiReport 表示生成 Markdown 格式的 API 文档。
  1. 修改项目的 package.json,增加如下代码:
-
  ---------- -
    ------ -------------- --- ------- -----------
    ---------- ---- --- --- -- ----
  -
-

这里的 docprepare 命令就是配置文件所提到的 API 文档生成命令和 TypeScript 编译命令。

现在,我们就可以在项目根目录中使用 npm run prepare 命令,自动编译 TypeScript,并生成 API 文档了。

示例代码

我们可以使用一个示例代码来演示如何使用 extract-typedefs

示例代码目录结构如下:

-------
--- ------------------
--- ---
-   --- --------
-   --- --------
--- -----------------
--- ------------
--- -------------

其中,index.ts 如下所示:

------ - ---- ----------

greet.ts 如下所示:

---
 - -------
 --
------ -------- ----------- -------- ------ -
  ------ ------- ----------
-

配置文件(api-extractor.json)如下所示:

-
  ---------- ------------------------------------------------------------------------------------------
  ------------------------- -------------------
  ----------- -
    ---------- ----
  --
  ------------ ---
  ------------ -
    ---------- -----
    ----------------- --------------------
  -
-

执行命令后,可以得到如下目录结构:

-------
--- ------------------
--- ---
-   --- --------
-   --- --------
--- -----------------
--- ------------
--- -------
-   --- --------
--- -------------
--- -----
    --- ----------

mylib.md 如下所示:

- --- ------

-- ---------

--- -----

-------------
------ ------- -------- ----------- -------- -------

Public function.

Parameters

Name Type Description
name string The person to greet.

Returns

Type: string


Version Information

Property Value
npmPackageName example
npmPackageVersion 1.0.0
generatedBy @microsoft/api-extractor

ℹ️ API Extractor found 1 warning(s)!

----- ---------- ---------- --- ---

-- --

------------------ ------------------------- ---------- ------- --- ----------------------------------

------------------------------------------------------------------------------ ----------
-----------------------------------------------------------------------------------------------------------------------------
  

猜你喜欢

  • npm 包 gulp-main-node-files 使用教程

    在前端开发中,自动化构建工具 gulp 已经非常常见了,通过 gulp,我们可以将多种任务如编译、压缩、拷贝等打包成一条命令行指令。而在启动应用的时候,除了自己写的代码,Node.js 也有些自带的模...

    3 年前
  • npm 包 react-native-flat-chat 使用教程

    在 React Native 开发中,聊天界面是常见的 UI 需求。为了方便快捷的搭建聊天界面,我们可以使用一些现成的 npm 包。其中,react-native-flat-chat 是一个比较成熟和...

    3 年前
  • npm 包 nuclear-js-react-addons-chefsplate 使用教程

    在前端开发中,使用React库和更高级的状态管理工具是一个很常见的需求。在这方面,nuclear-js-react-addons-chefsplate 是一种常用的npm包,其提供了在React应用程...

    3 年前
  • npm 包 urlparamify 使用教程

    在前端开发中,经常会需要对 URL 中的参数进行处理,比如解析、获取、拼接等等。而 urlparamify 就是一个实用的 npm 包,可以方便地实现这些操作。 urlparamify 简介 urlp...

    3 年前
  • npm 包 classy-gulp 使用教程

    npm 包 classy-gulp 使用教程 在开发中,自动化构建是一项重要的工作。而 Gulp 是一个非常优秀的构建工具,可以让开发者以一种更加自由、流畅的方式来构建项目。

    3 年前
  • npm 包 ionic-extended-components 使用教程

    Ionic 前端框架提供了 rich UI components,但是这些组件可能无法满足一些特殊需求,所以我们需要通过找到并使用适合的第三方组件来实现我们的目标。

    3 年前
  • npm 包 super-entity 使用教程

    如果你在构建一个前端应用程序,那么你很可能需要使用某些类型系统来简化数据管理。虽然 JavaScript 弱类型特性的弹性在很多情况下很有用,但它有时会导致动态类型转换等问题。

    3 年前
  • npm 包 vlc-simple-player 使用教程

    1.前言 在前端开发中,我们经常需要调用多媒体播放器来播放音视频文件。此时,大多数人都会想到使用 HTML5 的 video 标签来实现。但是,HTML5 的 video 标签并不支持所有的音视频格式...

    3 年前
  • npm包raml2html-markdown-theme 使用教程

    前言 在Web开发中,我们经常需要编写API文档,以便于管理和维护。RamL是一种RESTful API描述语言,它可以帮助我们快速地编写API文档。而在使用RamL编写API文档的过程中,raml2...

    3 年前
  • NPM 包 Botpress-janis 使用教程

    前言 近年来,机器人对话系统的应用越来越广泛,成为了人工智能领域的重要分支。而 Botpress-janis 则是其中一款非常优秀的对话系统。本文将介绍如何使用 NPM 包 Botpress-jani...

    3 年前
  • npm 包 bemlinter 使用教程

    在前端开发中,遵循一定的编码规范和组件化方式可以提高代码可读性和可维护性。而 BEM(块(block)、元素(element)、修饰符(modifier))是一种流行的命名规范,可以帮助我们更好地组织...

    3 年前
  • npm 包 @ngx-rocket/ascii-logo 使用教程

    简介 在前端开发中,我们经常需要在页面中添加公司或项目的 Logo,@ngx-rocket/ascii-logo 就是一个可以帮助我们快速创建 ASCII 艺术字 Logo 的 npm 包。

    3 年前
  • npm 包 @ngx-rocket/cli 使用教程

    作为一名前端开发者,我们经常需要创建项目、搭建框架等等的工作。但是这些工作往往是重复性的,有些枯燥。这时候,我们就可以通过使用一个基于 Angular 的脚手架工具 @ngx-rocket/cli 来...

    3 年前
  • npm 包 error-reporter-webpack-plugin 使用教程

    在前端开发中,webpack 是一个非常常用的打包工具。在使用 webpack 进行打包的过程中,可能会出现一些错误,造成开发过程的阻碍。为了能够更好地解决这种问题,我们可以使用 error-repo...

    3 年前
  • npm 包 hops-local-cli 使用教程

    介绍 Hops-local-cli 是一个基于 Hops.js 的本地运行环境,它让前端开发者能够在本地快速搭建一个服务器环境,支持调试和构建等功能,并且可以快速地创建和部署一个前端应用。

    3 年前
  • npm 包 @toptal/testshot 使用教程

    简介 @toptal/testshot 是一个基于 Puppeteer 的自动化测试工具,用于进行 Web 应用的端到端测试。它通过将测试代码编写为 JS 函数的形式,使测试代码清晰易读。

    3 年前
  • npm 包 ng2-input-mask 使用教程

    在前端开发的过程中,我们经常需要对用户输入的数据进行格式限制和规范,如手机号、银行卡号等。使用 ng2-input-mask 插件能够轻松地实现数据格式的控制和显示格式的美化。

    3 年前
  • npm 包 html_merge 使用教程

    在前端开发的过程中,我们需要不断地整合、修改、优化网页的代码。而这一过程中,我们经常会遇到需要将多个 HTML 文件合并成一个的情况,这时候就需要借助于工具来实现效率化的合并操作。

    3 年前
  • npm 包 scamvoid 使用教程

    1. 什么是 npm 包 scamvoid Scamvoid 是一个可以对网址进行安全性评估的工具,它能够给出该网址是否存在欺诈行为的警示。Scamvoid 的 npm 包可以让开发者轻松地在自己的应...

    3 年前
  • npm 包 actiontyper 使用教程

    在前端开发中,我们经常会使用各种工具和框架来帮助我们更高效地编写代码。其中一个应用最广泛的工具就是 npm 包管理器。本文将为大家介绍一个名为 actiontyper 的 npm 包,它可以帮助我们更...

    3 年前

相关推荐

    暂无文章