npm 包 github-lang-getter 使用教程

阅读时长 4 分钟读完

在开发过程中,我们常常需要获取某些开源项目的语言类型,比如 JavaScript、C++、Java 等等。为了不重复造轮子,有一款 npm 包叫做 github-lang-getter,可以帮助我们快捷地获取 Github 上的项目语言类型。下面我将详细介绍这个包的使用教程。

安装

首先,我们需要在项目中安装这个包。打开命令行工具,输入以下命令即可:

安装完成后,我们就可以在项目中使用这个包了。

使用方法

github-lang-getter 可以通过调用它的 API 获取一个 Github 项目的语言类型。下面是使用它的简单示例:

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

-------------------------------------------------
  ----------------- -- -
    -----------------------
  --
  ------------ -- -
    -------------------
  ---
展开代码

以上示例代码会获取 Facebook 的 React 项目的语言类型,并在控制台输出。

API

github-lang-getter 提供了下面两个 API:

getLanguages(repositoryUrl: string, options?: Options): Promise<Record<string, number>>

  • repositoryUrl: 要获取语言类型的 Github 项目链接。

  • option (可选): 可以接受一个选项对象,它具有以下属性:

    • maxTries (类型:number, 默认值:10): github-lang-getter 在请求 Github 项目的 API 时,会重试最多 10 次,如果这个数值再次失败,则认为 Github API 已经挂掉,直接返回一个错误。
    • backoffFactor (类型:number, 默认值:2): 如果 github-lang-getter 请求 Github API 时失败,它会在重试前等待一段时间:等待时间 = 上一次等待的时间 x backoffFactor。
  • 返回一个 Promise,resolve 后会返回一个带有语言类型和相应字节数的对象。

getLanguageColor(language: string): string

  • language: 一种编程语言(如:"TypeScript")。
  • returns: 对应语言的颜色代码(如:"2b7489")。

指导意义

通过 github-lang-getter,我们可以方便地获取 Github 项目的语言类型,并在项目中对相应的代码进行处理。github-lang-getter 的底层实现方式是通过 Github 的 API 请求查询,因此它的查询速度受限于 Github 的响应速度。我们可以使用 options 配置项来设置请求 Github API 的次数和等待时间,来加快查询速度。

示例

下面是一个获取 Github 项目语言类型并计算其代码行数的例子:

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

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

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

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

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

------------------------------------------------
展开代码

在这个例子里,我们使用了 github-lang-getter 包来获取 Github 项目的语言类型,然后使用 Axios 调用 Github API 获取项目中各语言的代码行数。最后,控制台输出了计算得到的代码行数。你可以通过修改 repoUrl 变量来测试不同的 Github 项目。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055c1581e8991b448d9b69

纠错
反馈

纠错反馈