npm 包 serverless-shared-library 使用教程

阅读时长 6 分钟读完

在 Serverless 世界中,开发者都喜欢像搭积木一样去构建应用,需要什么功能就找什么插件/包。但是一旦你的应用让人倾心,需要大规模复制和管理,就逃不开类似 monorepo 的大妈级需求。针对这个问题,我们不妨用 serverless-shared-library 这个 npm 包来协助我们进行团队协作设计和构建。

serverless-shared-library 简介

serverless-shared-library 是为 Serverless Framework 设计的,旨在供开发者在多个 Serverless 项目之间共享可重用代码。如其名,这个 package 可以看做一本类似于技术参考书的共享库,其中包含了 Serverless 开发过程中的常见代码块、工具函数、以及特定应用程序所需的代码。

serverless-shared-library 的特点

  • 预制代码块 针对一些功能模块,开发者可以避免重复造轮子,目前的库内预制的功能包括 S3 静态站托管和 Cognito 用户池自定义域名。
  • 可自定义目录结构 由于使用者需求的差异,serverless-shared-library 支持使用者自定义项目的目录结构
  • 易于测试 serverless-shared-library 内置自动化测试,且特殊设计成可在两个不同的 Serverless Framework 项目之间交叉测试。

serverless-shared-library 使用教程

下面我们将通过一个简单的示例来演示 serverless-shared-library 的使用方法。

安装 serverless-shared-library

使用 npm 安装:

或使用 yarn 安装:

创建 shared library 项目

我们首先需要创建一个 shared library 项目:

安装依赖

安装依赖包:

添加服务和函数

在 handler.js 文件中添加服务和函数:

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

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

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

添加 Serverless Framework 配置

在 serverless.yml 文件中添加 Serverless Framework 的配置:

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

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

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

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

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

发布 shared library

发布 shared library:

当 shared library 项目发布完成后,会返回一个 sharedLibPackageCloudFormation 变量。在组织内其他 Serverless Framework 项目中,你可以根据这个变量来使用 shared library。举个例子,对于使用 JavaScript Lambda function 的项目,可以通过以下方式来引入 shared library:

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

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

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

通过这种方式,你就可以将多个 Serverless Framework 项目中重复使用的代码抽离到 shared library,从而大大提高了代码复用性,同时增加了代码可维护性。

总结

serverless-shared-library 是一个有用的 npm 包,可以大大提高 Serverless Framework 项目的代码复用性,节省开发人员宝贵的时间。

如果你想开始使用 serverless-shared-library,你需要:

  • 理解 serverless-shared-library 的特点和优势
  • 安装 serverless-shared-library
  • 创建 shared library 项目
  • 安装依赖
  • 添加函数
  • 配置 Serverless Framework
  • 发布 shared library

通过上述步骤,你就可以愉快地享受 serverless-shared-library 带来的代码重用和维护之道了。

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

纠错
反馈