npm 包 generator-serverless-boilerplate 使用教程

阅读时长 6 分钟读完

简介

在 Serverless 架构下,使用 Serverless Framework 可以方便地搭建和管理自己的服务。而 generator-serverless-boilerplate 是一个非常实用的 npm 包,可以根据自己的需求生成一个完整的 Serverless Framework 项目结构,大大加快了项目的搭建流程。

本文将详细介绍如何使用 generator-serverless-boilerplate 生成 Serverless Framework 项目并做一些基本配置。

安装

首先,我们需要确保本地安装了 npm,然后通过以下命令安装 generator-serverless-boilerplate:

安装完成后,我们可以通过以下命令来验证安装是否成功:

如果成功,我们将会看到一系列的生成命令。

使用

生成完整的 Serverless Framework 项目结构的命令如下:

其中,my-project 是我们将要生成项目的名称,可以自定义。

执行该命令后,generator-serverless-boilerplate 会在当前目录下创建一个 my-project 文件夹,并自动为我们生成一些基本的目录结构和文件,如下:

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

其中:

  • package.json 包含项目的依赖库以及命令脚本。
  • README.md 是项目的说明文件。
  • serverless.yml 是项目的 Serverless Framework 配置文件。
  • env.yml 包含项目的环境变量。
  • src/ 包含项目的所有源代码,放置函数、中间件、工具类等。
  • test/ 包含项目的所有测试代码。

接下来,我们将介绍如何对这些文件进行配置。

配置 serverless.yml

serverless.yml 是 Serverless Framework 项目的核心配置文件,所有的 Serverless 资源的创建、服务的配置都会在这个文件中定义。

我们可以在 serverless.yml 文件中定义一些基本的配置,例如:

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

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

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

上述配置的意思是,我们创建了一个名为 my-project 的 Serverless 服务,运行在 AWS 的 nodejs14.x 服务器上,代码将会在 src/functions/hello.handler 这个文件中定义。

配置 env.yml

env.yml 是项目的环境变量配置文件。我们可以将一些常量或者配置信息写在这里,这些信息将在代码中使用。

例如:

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

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

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

上述配置意味着,我们将 FOO 和 BAZ 的值分配给 dev、stg 和 prod 三种环境下。可以在代码中使用 process.env.FOOprocess.env.BAZ 来获取对应的值。

配置 functions

src/functions 文件夹下存放所有的函数代码,我们可以在这个文件夹下创建一个新的函数,例如:

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

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

这个函数将会返回 Hello world! 字符串和接收到的 event 参数。

测试

使用 generator-serverless-boilerplate 生成的项目结构已经包含了用于单元测试和集成测试的文件夹。

test/unit 中,我们可以添加一些单元测试,用于测试项目中的单个函数或者某个模块的特定功能。

例如,我们可以添加以下测试用例:

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

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

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

test/integration 中,我们可以编写集成测试,用于测试项目的所有组件以及环节。

例如,我们可以添加以下测试用例:

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

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

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

发布

最后,我们可以通过以下命令将我们生成的 Serverless 项目部署到 AWS 上:

上述命令将会编译、打包并部署我们的 Serverless 服务到 AWS 上。

结论

通过使用 generator-serverless-boilerplate 可以快速生成一个完整的 Serverless Framework 项目结构,熟练使用 Serverless Framework 可以极大地提高项目的开发效率。希望本文可以对初学者提供一些帮助。

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

纠错
反馈