npm 包 @serverless/core 使用教程

阅读时长 8 分钟读完

在前端开发中,使用云服务已经变得越来越普遍,而 Serverless 是一个目前很受欢迎的云服务框架。而 @serverless/core 是一个用 JavaScript 编写的 Serverless Framework 核心库,它提供了一种通过编程的方式定义 Serverless 应用程序的能力。

在本篇文章中,我们将深入探讨 @serverless/core 的使用方法,并梳理其使用的底层原理。

安装

首先,我们需要在我们的项目中安装 @serverless/core 包。可以通过 npm 指令来安装:

也可以使用 yarn 指令:

基本用法

@serverless/core 包的主要作用是将代码包装为可以在 Serverless 环境中运行的形式,以测试、部署或重新部署为目的。而它提供的 API 主要有以下几个:

  • deploy:将应用程序部署到 Serverless Platform。
  • remove:从 Serverless 平台中删除应用程序。
  • build:将代码构建为部署所需的形式。
  • run:在本地运行 Serverless 应用程序。
  • logs:查看 Serverless 应用程序的日志。
  • info:获取有关 Serverless 应用程序的信息。

构建应用程序

构建 Serverless 应用程序的第一步是编写构造函数(constructor),这是一个入口函数,用于描述你所需要的环境、配置和功能等。例如,以下是一个 hello-world 应用程序的构造函数:

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

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

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

构造函数位于 default() 方法中。当应用程序被部署时,该方法将被调用。在此构造函数中,我们仅打印一条信息,即 “Hello World!”。

接下来,创建一个 serverless.yml 等配置文件,并添加以下内容:

此配置文件定义了要使用的组件及其所需参数。此处我们定义了一个组件 HelloWorld 并指定了运行环境以及所在的 region

现在,用 @serverless/core 库构建应用程序:

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

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

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

这将导致 build() 方法把我们的应用程序打包为可部署到 Serverless 上的文件,并将构建文件保存在指定的目录中。

部署应用程序

我们使用 deploy() 方法将此应用程序部署到 Serverless 平台:

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

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

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

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

上面的例子使用 deploy() 方法,向云服务提供商提供构建应用程序所需的“部署文件”,以便开始部署应用程序。该方法返回一个应用程序对象,其中包含有关部署应用程序的信息。

示例代码

以下是一个完整的 @serverless/core 的示例。

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

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

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

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

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

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

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

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

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

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

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

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

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

其中,buildComponent() 使用 build() 方法构建应用程序;deployComponent() 使用 deploy() 方法部署应用程序;removeComponent() 使用 remove() 方法从 Serverless 平台中删除部署的应用程序;runComponent() 使用 run() 方法在本地运行应用程序;最后,infoComponent() 使用 info() 方法获取有关应用程序的信息。

结论

在这篇文章中,我们学习了如何使用 @serverless/core 包来构建并部署 Serverless 应用程序。我们还介绍了许多 API 和 CLI 命令,以便在使用该包时更加了解其原理和用法。希望本篇文章对于初次接触 Serverless 开发的前端开发人员们具有指导意义。

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

纠错
反馈