npm 包 province-city-county-server 使用教程

阅读时长 10 分钟读完

前言

省市县是常见的地区分类方式,很多前端开发工作中需要使用到相关数据。如果每次都手动输入这些数据,不仅费时费力,而且容易出现错误。因此,市面上也有很多省市县数据的 npm 包供开发者使用。

其中,province-city-county-server 这一 npm 包,不仅提供了省市县数据,还能快速搭建省市县数据的服务端,相对其他类似 npm 包更加实用且易于使用。本篇文章将详细介绍如何使用该 npm 包。

安装

可以使用 npm 或 yarn 进行安装,例如以下命令:

或者

使用

搭建服务端

安装好之后,在项目中配置一个启动服务端的文件。例如,我们在根目录下新建一个 server.js 文件,并编写如下代码:

其中 port 表示服务端口号,cache 为 true 表示启用缓存功能,可以大幅降低数据更新时的等待时间。如果数据并不经常更新,可以考虑启用缓存。

我们使用 const server = new ProvinceCityCountyServer({...}) 创建一个 ProvinceCityCountyServer 实例,然后调用 server.start() 启动服务端,服务端即可在指定的端口号上运行。

API

服务端一旦启动,即可使用该服务提供的 API。

获取省列表

访问 /provinces 接口,即可获取所有省份的列表,如下代码所示:

输出如下:

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

获取市列表

访问 /cities/:provinceId 接口,即可获取某个省份下所有城市的列表,其中 :provinceId 表示省份的 ID,如下代码所示:

输出如下:

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

获取县/区列表

访问 /counties/:cityId 接口,即可获取某个城市下所有县/区的列表,其中 :cityId 表示城市的 ID,如下代码所示:

输出如下:

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

获取某个省份下所有城市及其所辖县/区

访问 /provinces/:provinceId/cities 接口,即可获取某个省份下所有城市及其所辖县/区的列表,其中 :provinceId 表示省份的 ID,如下代码所示:

输出如下:

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

完整示例

为了更好地演示如何使用 province-city-county-server,以下是一个完整的示例,该示例演示了如何在页面中使用 fetch API 获取省市县数据,并根据数据生成省市县联动选择器:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在启动 server.js 后,使用任意 web 服务器(如 live-server)在本地访问该页面,即可查看该示例效果。

总结

本文介绍了如何使用 province-city-county-server 这一 npm 包,快速搭建省市县数据的服务端,并获取该服务提供的 API。同时,本文也演示了如何根据数据生成省市县联动选择器。该 npm 包使用方便,适合快速开发省市县相关功能的前端开发人员使用。

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

纠错
反馈