npm 包 godeep-sails-api 使用教程

阅读时长 6 分钟读完

Node.js 有许多优秀的轻量级 web 框架,其中就包括 sails.js。sails.js 集成了 ORM、路由、模板等功能,并使用简单的 MVC 架构,方便开发者快速构建 web 应用。但是,sails.js 内置的 API 有一些限制,只支持 CRUD 操作,不支持高级查询和数据聚合等操作。如果要实现这些高级功能,就需要借助其他 npm 包扩展 sails.js。

godeep-sails-api 是一个 npm 包,它基于 Waterline ORM,扩展了 sails.js 内置的 API,可以实现高级查询、数据聚合以及分页等操作。下面是该 npm 包的使用教程。

安装 npm 包

首先,需要安装 godeep-sails-api。在终端中用 npm 安装:

配置 sails.js

安装完成后,需要在 sails.js 的配置文件中添加 godeep-sails-api 的配置。打开 config/custom.js,添加以下代码:

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

其中,hooks、blueprints 禁用了 sails.js 内置的 ORM、Grunt、PubSub 和 Sockets,因为 godeep-sails-api 自带 ORM 和数据查询功能。godeep_sails_api 是 godeep-sails-api 的配置项,其中,package 指定 npm 包名称,prefix 指定 API 的前缀,paginate 配置分页参数。

创建 model

在使用 godeep-sails-api 前,需要先在 sails.js 中创建 model。例如,创建一个名为 Book 的 model,打开 config/models.js,添加以下代码:

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

在 model 中定义了几个属性,用于后续的数据查询和操作。

使用 godeep-sails-api

下面就是使用 godeep-sails-api 的示例代码。首先,打开 api/controllers/BookController.js,添加以下代码:

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

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

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

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

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

在 controller 中,定义了五个方法,分别对应着 CRUD 操作。在方法中,调用 sails.godeepSailsApi 的方法,实现数据的查询、添加、更新和删除。例如,find 方法中,使用了 filter、limit、skip、sort、select 等参数,实现了高级查询和分页功能。

至此,godeep-sails-api 的使用教程就结束了。通过这个 npm 包的使用,可以方便地扩展 sails.js 的 API,实现高级查询和数据操作。

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

纠错
反馈