# @cuvva/postcodesio-client 中文文档

规范地址：https://npmcn.com/package/%40cuvva/postcodesio-client/

版本：0\.3\.6
npm 元数据更新时间：2025-10-28T13:35:49.647Z
中文译文更新时间：2026-11-11T09:28:17.953Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cuvva/postcodesio-client
原文对照：https://npmcn.com/package/%40cuvva/postcodesio-client/?lang=original
项目主页：https://github.com/cuvva/postcodesio-client-node
源码仓库：https://github.com/cuvva/postcodesio-client-node

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：12.8 kB，8 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2021-07-05T16:54:22.607Z
- 最新版本发布：2021-07-08T09:25:00.243Z
- 近 30 天下载量：2455（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

摘要访问 Postcode.io API

## 安装

```sh
npm install @cuvva/postcodesio-client
```

也可以使用：`pnpm add @cuvva/postcodesio-client`、`yarn add @cuvva/postcodesio-client`、`bun add @cuvva/postcodesio-client`

## README

# 邮政编码.io 客户端

摘要访问 `postcodes.io` API (英语).

![NPM Version](https://img.shields.io/npm/v/postcodesio-client.svg?style=flat) ![Build Status](https://img.shields.io/travis/billinghamj/postcodesio-client-node.svg?style=flat) ![Coverage Status](https://img.shields.io/coveralls/billinghamj/postcodesio-client-node.svg?style=flat)

```js
var PostcodesIO = require('postcodesio-client');
var postcodes = new PostcodesIO();

postcodes.lookup('EC1V 9LB').then(postcode => {
    console.log(postcode);

    // {
    //   "postcode": "EC1V 9LB",
    //   "admin_district": "Islington",
    //   "longitude": -0.091247681768113,
    //   "latitude": 51.5278436902703,
    //   "region": "London",
    //   ...
    // }
});
```

## 安装

```bash
$ npm install postcodesio-client
```

## 使用量

创建客户端实例, 如果您愿意提供选项 :

```js
var PostcodesIO = require('postcodesio-client');

var postcodes = new PostcodesIO('https://api.postcodes.io', {
    headers: { 'User-Agent': 'MyAwesomeApp/1.0.0' } // default {} - extra headers
});
```

使用承诺提出请求:

```js
postcodes
    .lookup('EC1V 9LB')
    .then(function (postcode) {
        console.log(postcode);
    }, function (error) {
        console.log('oh no, it failed ;_;');
    });
```

未发现API的答复(404个)不被认为是错误. 相反 输出会是 `null`。 。 。 .

```js
postcodes.lookup('F4K3AA').then(postcode => {
    console.log(postcode);
    // null
});
```

只有承诺(承诺/A+支持 - 回调 没有。 以下两节具体说明如何实施承诺 参见下文.

### 承诺

```js
postcodes
    .method(parameters...)
    .then(function (outputs...) {

    }, function (error) {

    });
```

-   `method` - 你要使用的方法 - 什么
-   `parameters` - 该方法特有的任何论据(见 [方法](https://npmcn.com/package/%40cuvva/postcodesio-client/#readme-methods)(中文(简体) )
-   `error` - 实例 `Error`
-   `outputs` - 该方法的任何产出(见 [方法](https://npmcn.com/package/%40cuvva/postcodesio-client/#readme-methods)(中文(简体) )

两者 `parameters` 财务报告和审定财务报表 `outputs` 可以指: 零,一,或许多论据. 这些是 为每种方法指定.

## 方法

### 查询

获取大量数据用于邮编码或出码.

```js
postcodes.lookup(code)
```

参数:

-   `code` - 字符串 - 要取回的邮编码或出码

产出:

-   `data` - 说吧 [邮政编码](https://npmcn.com/package/%40cuvva/postcodesio-client/#readme-postcode) 或者说 [代码](https://npmcn.com/package/%40cuvva/postcodesio-client/#readme-outcode) - 产生的后编码/出码数据

这也可被明确称为: `postcodes.lookupPostcode(postcode)` 或者说 `postcodes.lookupOutcode(outcode)`。 。 。 .

### 近坐标

查找最接近坐标的邮政编码.

```js
postcodes.near(latitude, longitude)
```

这也可被明确称为: `postcodes.nearCoordinate(latitude, longitude, options)`。 。 。 .

参数:

-   `latitude` 坐标的纬度
-   `longitude` 坐标的经度
-   `options` - 对象 - 可选的,只有明确调用时可用

产出:

-   `postcodes` - 数组 [邮政编码](https://npmcn.com/package/%40cuvva/postcodesio-client/#readme-postcode) - 附近的邮政编码

### 贴近邮政编码

查找最接近另一个邮编的邮编.

警告:结果可能包括原邮编码.

```js
postcodes.near(postcode)
```

这也可被明确称为: `postcodes.nearPostcode(postcode)`。 。 。 .

参数:

-   `postcode` 字符串 - 要搜索的邮编

产出:

-   `postcodes` - 数组 [邮政编码](https://npmcn.com/package/%40cuvva/postcodesio-client/#readme-postcode) - 附近的邮政编码

### 反转地理代码

找到最接近坐标的单一邮编 .

```js
postcodes.reverseGeocode(latitude, longitude)
```

参数:

-   `latitude` 坐标的纬度
-   `longitude` 坐标的经度

产出:

-   `postcode` - 说吧 [邮政编码](https://npmcn.com/package/%40cuvva/postcodesio-client/#readme-postcode) - 附近的邮编

### 校验

验证邮编是否存在 。 (意思是它在官方的皇家邮件中) 邮政编码地址文件).

```js
postcodes.validate(postcode)
```

参数:

-   `postcode` 字符串 - 要检索的邮编

产出:

-   `exists` - 布尔 - 表示邮政编码的存在

### 随机

获取随机邮编 。 不太确定你为什么要这么做 但这里 这是...

```js
postcodes.random()
```

产出:

-   `postcode` - 说吧 [邮政编码](https://npmcn.com/package/%40cuvva/postcodesio-client/#readme-postcode) - 随机邮政编码

## 类型

### 邮政编码

示例

```json
{
    "postcode": "EC1V 9LB",
    "quality": 1,
    "eastings": 532506,
    "northings": 182719,
    "country": "England",
    "nhs_ha": "London",
    "admin_county": null,
    "admin_district": "Islington",
    "admin_ward": "Bunhill",
    "longitude": -0.091247681768113,
    "latitude": 51.5278436902703,
    "parliamentary_constituency": "Islington South and Finsbury",
    "european_electoral_region": "London",
    "primary_care_trust": "Islington",
    "region": "London",
    "parish": null,
    "lsoa": "Islington 023A",
    "msoa": "Islington 023",
    "nuts": null,
    "incode": "9LB",
    "outcode": "EC1V",
    "ccg": "NHS Islington"
}
```

### 代码

示例

```json
{
    "outcode": "EC1V",
    "longitude": -0.0981811622126924,
    "latitude": 51.5266761246198,
    "northings": 182576,
    "eastings": 532028,
    "admin_district": [
        "Hackney",
        "Islington"
    ],
    "parish": [
        "Hackney, unparished area",
        "Islington, unparished area"
    ],
    "admin_county": [],
    "admin_ward": [
        "Bunhill",
        "Hoxton West",
        "Clerkenwell",
        "Hoxton East & Shoreditch",
        "St Peter's"
    ],
    "country": [
        "England"
    ]
}
```

## 测试

首先安装开发依赖 :

```bash
$ npm install
```

然后进行测试:

```bash
$ npm test
```

## 支助

请打开此寄存器 .

## 作者数

-   詹姆斯·比林汉姆 [干扰@ jamesbillingham.com](mailto:james@jamesbillingham.com)

## 许可证

麻省理工学院执照 - 看 [自由主义](https://npmcn.com/package/%40cuvva/postcodesio-client/LICENSE) 文件

## 常见问题

### @cuvva/postcodesio-client 是什么？

摘要访问 Postcode\.io API

### 如何安装 @cuvva/postcodesio-client？

在项目目录运行 npm install @cuvva/postcodesio-client，或使用 pnpm add / yarn add / bun add。

### @cuvva/postcodesio-client 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/cuvva\_\_postcodesio-client 是否存在。

### @cuvva/postcodesio-client 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @cuvva/postcodesio-client 可以商用吗？

@cuvva/postcodesio-client 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @cuvva/postcodesio-client 的下载量有多少？

根据 npm 官方下载统计，@cuvva/postcodesio-client 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,455 次，日均约 82 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cuvva/postcodesio-client 还在维护吗？

最新版本 0\.3\.6 发布于 2021/07/08（5 年前）；至今共发布 2 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/07/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

