npm 包 typescript-library-boilerplate 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

介绍

typescript-library-boilerplate 是一个基于 TypeScript 的 Node.js 库的模板,可以快速搭建一个基础的库项目结构,包括npm scripts、测试用例、文档模板、CI/CD 集成等。本篇文章将介绍如何使用该模板创建一个 TypeScript 库项目。

前置条件

  • Node.js 环境
  • 包管理器:npm 或 yarn

安装

要使用此模板,可以通过 npm 或者 yarn 安装。

通过 npm

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

通过 yarn

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

使用方法

创建项目

使用以下命令创建一个新项目:

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

其中 my-library 是你要创建的项目名称。

项目结构

创建 my-library 后,可以看到以下文件结构:

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

说明

  • __tests__:存放测试代码的文件夹;
  • src:存放源代码的文件夹;
  • .github: 存放 Github Actions 配置文件的文件夹;
  • .editorconfig:定义代码格式的文件;
  • .npmignore:npm 发布时需要忽略的文件列表;
  • LICENCE:许可证文件;
  • package.json:记录项目所使用的依赖库、脚本和版本等信息;
  • README.md:项目介绍文件;
  • tsconfig.json:TypeScript 的配置文件;
  • yarn.lock / package-lock.json:锁定安装包的版本。

项目初始化

在项目目录下执行以下命令,安装项目依赖:

- --- -------

- ----

此模板使用了以下依赖:

  • tslib:TypeScript 的标准库;
  • eslint:代码风格检查;
  • jest:测试框架;
  • huskylint-staged:用于执行 git commit 前的代码风格检查。

开发

src/index.ts 中开始写你的代码。

然后,在终端执行:

- --- --- ---

- ---- ---

这将启动 tsc-watch,在源代码修改之后会重新编译。

测试

在写下测试之前,首先需要确保已为代码设置了适当的类型注解,这有助于更轻松地编写测试代码。

然后,在 __tests__ 目录中编写测试文件。例如,创建 src/index.test.ts 文件:

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

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

最后,运行下面的命令:

- --- --- ----

- ---- ----

构建项目

构建项目是为了在将项目提交到 npm 之前,将 TypeScript 编译成 JavaScript 并将所有文件发送到 dist 目录中。

运行下面的命令来构建:

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

- ---- -----

构建完成后,你将在 dist 目录中找到编译后的 JavaScript 代码。

发布

使用以下命令发布你的库:

- --- -------

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

Github Actions 集成

此模板包含一个管理 CI/CD 流程的 .github/workflows/ci.yml 文件。在每次向主分支进行提交后,它将运行您的测试代码、linter 和构建脚本,如果所有测试都通过,它将自动将包发到 npm registry。

但要使用 Github Actions,你需要先在 Github 上开启 Actions

结论

typescript-library-boilerplate 提供了一个完整的模板来创建基于 TypeScript 的 Node.js 库。此篇文章详细介绍了如何使用该模板创建和构建一个 TypeScript 库项目,并测试和部署它,希望能对你的开发工作提供帮助。

示例代码

你可以在了解了如何使用该模板后,根据你的需要,对其中的示例代码进行修改或删除。

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

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

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

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

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

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005731681e8991b448e945e


猜你喜欢

  • npm 包 @arguiwu/react-native-gesture-password 使用教程

    React Native 是一种跨平台的移动端开发框架,且具有广泛的应用场景。 @arguiwu/react-native-gesture-password 是一种可重用的 React Native ...

    3 年前
  • npm 包 aliyun-iot-mqtt 使用教程

    阿里云物联网平台(Aliyun IoT Platform)是一款物联网平台,它能够协助开发者快速构建安全、稳定的物联网系统,并提供了丰富的工具和服务来支持设备连接、数据采集、消息交换和远程控制等功能,...

    3 年前
  • npm 包 @rbarilani/react-simple-inpagenav 使用教程

    前言 在前端页面中,经常需要对长页面进行导航定位,便于用户进行浏览和操作。而 @rbarilani/react-simple-inpagenav 就是一个方便实用的 npm 包,可以快速创建基于锚点的...

    3 年前
  • npm包jason-ivy-test使用教程

    在前端开发中,我们常常需要用到各种各样的 npm 包来帮助我们完成一些相对复杂的功能,其中 jason-ivy-test 就是一款非常实用的测试工具,帮助我们实现一些简单的测试。

    3 年前
  • npm 包 twitter-bootstrap-wiz 使用教程

    前言 作为前端开发人员,我们都知道 Twitter Bootstrap 是一个非常流行的前端框架。它提供了基本的 HTML、CSS 和 JavaScript 组件,可以帮助开发人员快速构建漂亮的、响应...

    3 年前
  • npm 包 vue-watermark 使用教程

    前言 在前端开发中,防止网站的资料被无意间拷贝或窃取是一个重要的问题。为了解决这个问题,我们可以使用水印技术来保护网站资料的安全。在 Vue 框架中,有一个非常方便的 npm 包——vue-water...

    3 年前
  • npm 包 html-inline-source-loader 使用教程

    随着前端技术的不断发展,使用外部资源文件已经成为前端开发中不可避免的一个环节。但是,如果你希望在将网页发布到服务器之前将这些文件内嵌到网页中,以提高页面加载速度,那么该怎么办呢? 这时候,就需要使用一...

    3 年前
  • npm 包 radial-progress-chart-mod 使用教程

    简介 radial-progress-chart-mod 是一个轻量级的 JavaScript 库,专门用于生成环形进度图。该库非常易于使用,支持定制化,而且提供了丰富的 API 以满足用户对不同类型...

    3 年前
  • npm 包 ngx-gallery-test 使用教程

    介绍 ngx-gallery-test 是一款基于 Angular 框架的图库插件。该插件提供了非常丰富的功能,支持多种不同的图片展示方式,包括缩略图、放大、轮播等。同时还支持自定义配置和扩展。

    3 年前
  • npm 包 rx-node-rdkafka 使用教程

    简介 rx-node-rdkafka 是一个基于 Apache Kafka 的 Node.js 包,它提供了一种简单的方式将 Kafka 生产者和消费者与 RxJS 组合在一起,可以快速进行消息处理,...

    3 年前
  • npm 包 webpack-umbraco-package-plugin 使用教程

    什么是 webpack-umbraco-package-plugin? webpack-umbraco-package-plugin 是一个 webpack 插件,用于打包生成 Umbraco v7 ...

    3 年前
  • npm 包 wmcc-mutex 使用教程

    在前端开发中,我们常常会遇到需要进行线程互斥的情况,比如我们需要对同一资源进行加锁或解锁操作,防止多个线程同时修改该资源,导致数据出错。在这种情况下,使用 Mutex(互斥量)是比较常见的解决方式。

    3 年前
  • npm 包 wmcc-tcp 使用教程

    在前端开发中,TCP 协议是很常用的一种网络通信协议。wmcc-tcp 是一个基于 Node.js 的 npm 包,用于建立 TCP 长连接并进行通信。本文将详细介绍如何使用 wmcc-tcp,包括安...

    3 年前
  • npm 包 @oledm/react-telephone-input 使用教程

    前端开发中,我们经常需要在表单中添加手机号码输入框。而基于 React 的 @oledm/react-telephone-input 这个 npm 包提供了一个方便易用的手机号码输入框组件,可以帮助我...

    3 年前
  • npm 包 atscntrb-hx-libjson-c 使用教程

    在前端开发中,我们常常需要处理 JSON 数据。而 atscntrb-hx-libjson-c 是一个常用的 C++ JSON 库,它提供了一系列简单易用的 API,使得操作和解析 JSON 数据变得...

    3 年前
  • npm 包 services-checker 使用教程

    随着互联网的发展,前端开发工作越来越重要。在前端开发过程中,我们经常需要对网站或者应用进行测试,保证其稳定性和可靠性。对于这个需求,我们可以使用 npm 包 services-checker。

    3 年前
  • npm 包 @zafarsaeedkhan/angular2-virtual-scroll 使用教程

    越来越多的网站和应用程序都需要处理巨大的数据集,而这些数据需要在前端进行处理和呈现。但是,当处理大量数据时,会导致应用程序的性能下降。这时,虚拟滚动技术就可以派上用场。

    3 年前
  • npm 包 auth-basic-jwt 使用教程

    什么是 auth-basic-jwt auth-basic-jwt 是一个基于 JWT(JSON Web Token) 的前端认证库,提供基础的用户验证服务,同时也支持自定义的权限验证规则。

    3 年前
  • npm 包 cssjs-units 使用教程

    简介 cssjs-units 是一个用于处理 CSS 单位的 npm 包。该包可以将不同的 CSS 单位之间进行转换,例如 px、em、rem 等等。使用该包,可以方便地进行单位的转换,同时减少编写 ...

    3 年前
  • npm 包 ktan-cocktail 使用教程

    简介 npm 包 ktan-cocktail 是一个轻量级的前端 UI 组件库,它包含了常用的 UI 组件,例如按钮、弹出框、表格等。它的特点是易于使用和定制化,同时提供了丰富的功能。

    3 年前

相关推荐

    暂无文章