npm 包 @litstack/service-starter 使用教程

简介

@litstack/service-starter 是一款基于 NestJS 开发的,用于快速启动 Node.js 服务的脚手架工具,提供了一些常用的功能模块,例如请求日志记录、参数验证、异常处理等,快速搭建出适用于生产环境的 Node.js 服务。

安装

安装该包的最新版本可以使用 npm。

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

快速开始

执行以下指令,创建一个基于该工具的 NestJS 项目:

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

安装 @litstack/service-starter 依赖:

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

在 app.module.ts 中导入 LitStackModule:

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

在控制器(Controller)中添加路由:

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

开启服务:

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

访问 http://localhost:3000 可以看到服务返回的 Hello LitStack! 字符串。

配置

该工具提供了一些可选配置项,可以在 forRoot 中传入,例如:

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

name

name 为服务名,用于记录请求日志。默认值为 SERVICE。

port

port 为服务端口号。默认值为 3000。

loggerOptions

loggerOptions 为 Logger 模块的配置项,用于配置日志记录。默认值为:

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

cors

cors 为跨域处理配置项,可为布尔值或 CorsOptions(详见 http://expressjs.com/en/resources/middleware/cors.html)。默认值为 false,代表不开启跨域处理。

模块

@litstack/service-starter 提供了一些内置的模块,可供使用。

Logger

Logger 模块是对 winston 官方模块的封装,提供了对不同等级日志的记录。使用方法:

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

ValidationPipe

ValidationPipe 模块用于请求参数验证,使用方法:

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

TransformInterceptor

TransformInterceptor 模块用于统一响应格式,使用方法:

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

总结

@litstack/service-starter 是一款快速启动 Node.js 服务的脚手架工具,提供了常用的功能模块,方便开发人员快速搭建 Node.js 服务,提高开发效率和项目质量。本文介绍了该工具的安装和使用方法,以及内置模块的使用方式和配置项,希望对前端开发人员有所帮助。

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


猜你喜欢

  • npm 包 vaca-cli 使用教程

    什么是 vaca-cli? vaca-cli 是一款基于 Node.js 开发的命令行工具,它用于快速创建 Vue.js 项目模板以及生成 Vue.js 单文件组件(.vue 文件)。

    3 年前
  • npm包wifi-pass-cli使用教程

    在前端开发中,我们常常需要使用一些命令行工具来辅助我们完成一些工作,如管理依赖、启动服务器等。而wifi-pass-cli就是这样一款用于在命令行中查看已连接WiFi密码的工具。

    3 年前
  • npm 包 yoginth-pen 使用教程

    在前端开发中,一个好的富文本编辑器可以大大提高生产效率,而 npm 包 yoginth-pen 就是一款简单好用的富文本编辑器。本篇文章将为大家介绍如何使用 yoginth-pen 编辑器,并提供示例...

    3 年前
  • npm包 @kailight/socials 使用教程

    前言 随着社交媒体的发展,社交媒体分享功能已成为现代网站开发中的一个重要部分,为开发人员提供了在网站和应用程序中轻松集成分享按钮的方法。@kailight/socials 是一个npm包,可以帮助开发...

    3 年前
  • npm 包 grob 使用教程

    如今,前端开发离不开React,Vue等框架形式的组件化开发。其中,真正意义上的组件化是由一个独立的组件组成,包括样式、Js和HTML等,每一个组件都可以独立地进行开发和维护,而不会互相干扰。

    3 年前
  • npm 包 improvise-on-slots 使用教程

    在前端开发中,我们经常使用一些 NPM 包来提高开发效率和编写高质量的代码。本篇文章将介绍一个非常有用的 NPM 包 improvise-on-slots。 什么是 improvise-on-slot...

    3 年前
  • npm 包 feature-helper 使用教程

    在前端开发中,我们经常需要在项目中引入一些第三方库来方便开发,而 npm 是一个常用的包管理器,它可以帮助我们快速安装、升级和管理项目中的依赖项。在这篇文章中,我们将介绍一个名为 feature-he...

    3 年前
  • NPM 包 Levencli 使用教程

    Levencli 是一个用于计算两个字符串之间的 Levenshtein 距离的命令行工具。在许多文本处理场景下,我们需要找到两个字符串之间的相似性度量,Levencli 可以轻松完成这项任务。

    3 年前
  • npm 包 @lilyput/framework 使用教程

    在前端开发中,我们经常使用各种 npm 包来辅助我们开发。其中一个非常实用的 npm 包是 @lilyput/framework,它是一款轻量级的前端框架,可以帮助我们快速构建 web 应用。

    3 年前
  • npm 包 @cloudalize/appauth 使用教程

    介绍 @cloudalize/appauth 是一个用于实现 OAuth2 认证流程的 Node.js 库。它提供了一种简单直观的方式来管理 OAuth2 认证流程中的授权和访问令牌,并且可以自动处理...

    3 年前
  • npm 包 adal-angular-mo 使用教程

    前言 在前端开发中,我们经常会涉及到与后端进行交互,因此授权和身份验证等功能也变得尤为重要。在这方面,Microsoft 提供了一个称为 Azure Active Directory 的解决方案,它为...

    3 年前
  • npm包docute-emojify使用教程

    简介 docute-emojify是一款用于在docute网页中添加emoji表情的npm包,通过docute-emojify可以让docute网页更加生动和趣味。

    3 年前
  • npm 包 js-source-extractor 使用教程

    JavaScript 作为一门高级语言,有许多极其便捷的函数和工具包。但是,在前端开发过程中,可能你曾经遇到过这样的场景:需要获取一个已压缩混淆的 JavaScript 代码文件中的某个函数的源代码,...

    3 年前
  • npm 包 weekend 使用教程

    引言 weekend 是一款轻量级的 JavaScript 库,用于计算两个日期之间的周末天数。本文将介绍使用 weekend 的方法以及其详细文档和示例。 安装 weekend 可以通过 npm 包...

    3 年前
  • npm 包 @anton.npm.dev.org2/project1 使用教程

    本文将介绍 npm 包 @anton.npm.dev.org2/project1 的使用方法,该包是一个前端开发辅助工具,帮助开发者在项目中快速搭建环境和完成常用任务。

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

    简介 jmp-cli 是一个 npm 包,它是一个命令行工具,可以生成一个简单的 JavaScript 模板,并将其插入到 HTML 文件中。 jmp-cli 将生成一个包含默认 JavaScript...

    3 年前
  • npm 包 phore-wallet 使用教程

    简介 phore-wallet 是一个为 Phore 区块链设计的轻量级 JavaScript 版本的 HD 钱包库,能够方便地管理钱包,创建和发送交易。 安装 在使用 phore-wallet 之前...

    3 年前
  • npm 包 svjs-utils 使用教程

    在现代前端开发中,使用 npm 包是一个必不可少的技能。在这里,我们将详细介绍 svjs-utils 这个 npm 包的使用教程。 什么是 svjs-utils? svjs-utils 是一个轻量级的...

    3 年前
  • NPM 包 disnut-theme 的使用教程

    在前端开发中,我们经常需要使用各种各样的库和框架来完成我们的项目。其中,NPM(Node Package Manager)是非常流行的一个包管理工具。今天,我们要介绍的是一个 NPM 包,它叫做 di...

    3 年前
  • npm 包 github-wiki-sidebar 使用教程

    在前端开发项目中,我们经常使用各种工具和框架去实现一些功能。npm 是一款优秀的包管理工具,它可以帮助我们快速方便地获取各种开源的工具和框架。 在本篇文章中,我们将介绍一个非常实用的 npm 包 gi...

    3 年前

相关推荐

    暂无文章