# @fragaria/address-formatter 中文文档

规范地址：https://npmcn.com/package/%40fragaria/address-formatter/

版本：7\.1\.2
npm 元数据更新时间：2026-10-01T04:14:52.244Z
中文译文更新时间：2026-11-15T11:33:31.464Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40fragaria/address-formatter
原文对照：https://npmcn.com/package/%40fragaria/address-formatter/?lang=original
项目主页：https://github.com/fragaria/address-formatter#readme
源码仓库：https://github.com/fragaria/address-formatter

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

- 包体积（解压后）：1.2 MB，18 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：1 个
- 首次发布：2019-02-17T18:06:38.204Z
- 最新版本发布：2026-10-01T04:14:51.950Z
- 近 30 天下载量：595902（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：45（近 12 个月 3 个）

## 中文简介

通用国际地址格式化 Javascript

## 安装

```sh
npm install @fragaria/address-formatter
```

也可以使用：`pnpm add @fragaria/address-formatter`、`yarn add @fragaria/address-formatter`、`bun add @fragaria/address-formatter`

## README

# 联合来文地址

[![Coverage Status](https://coveralls.io/repos/github/fragaria/address-formatter/badge.svg?branch=master)](https://coveralls.io/github/fragaria/address-formatter?branch=master)

基于一个惊人的作品 [OpenCage 数据](https://github.com/OpenCageData/address-formatting/) 这是Javascript的应用 这件事情.

这个库几乎可以格式化来自 开放街道地图 [诺米纳蒂姆 API](https://wiki.openstreetmap.org/wiki/Nominatim) 输入 `address` 字段。 其他相容数据来源 例如 [光子](https://photon.komoot.io/) 可能也会被使用.

它能自动检测到这个国家 格式化自定义,但允许您使用 _选择特定的国家 格式_此外,它允许你 缩写常见的名字, 例如 `Avenue` 或者说 `Road`。 。 。 .

全世界的格式规格是 目前没有计划准备 面积有限的小型建筑.

## 安装和使用

### 节点

```sh
npm i @fragaria/address-formatter
```

```js
// import addressFormatter from '@fragaria/address-formatter';
const addressFormatter = require('@fragaria/address-formatter');

// Basic examples
const formatted = addressFormatter.format({
  "houseNumber": 301,
  "road": "Hamilton Avenue",
  "neighbourhood": "Crescent Park",
  "city": "Palo Alto",
  "postcode": 94303,
  "county": "Santa Clara County",
  "state": "California",
  "country": "United States of America",
  "countryCode": "US",
});
/*
301 Hamilton Avenue
Palo Alto, CA 94303
United States of America
*/
const formattedWithAppendedCountry = addressFormatter.format({
  "houseNumber": 301,
  "road": "Hamilton Avenue",
  "neighbourhood": "Crescent Park",
  "city": "Palo Alto",
  "postcode": 94303,
  "county": "Santa Clara County",
  "state": "California",
  "countryCode": "US",
}, {
  appendCountry: true
});
/*
301 Hamilton Avenue
Palo Alto, CA 94303
United States of America
*/

// You can overwrite the country code incoming from the map service
const abbreviatedUkFormat = addressFormatter.format({
  "houseNumber": 301,
  "road": "Hamilton Avenue",
  "neighbourhood": "Crescent Park",
  "city": "Palo Alto",
  "postcode": 94303,
  "county": "Santa Clara County",
  "state": "California",
  "country": "United States of America",
  "countryCode": "US",
}, {
  abbreviate: true,
  countryCode: 'UK'
});
/*
301 Hamilton Ave
Palo Alto
94303
USA
*/

// You can use a fallback to keep the library working when the country code is wrong
const fallbackCountryCode = addressFormatter.format({
  "houseNumber": 301,
  "road": "Hamilton Avenue",
  "neighbourhood": "Crescent Park",
  "city": "Palo Alto",
  "postcode": 94303,
  "county": "Santa Clara County",
  "state": "California",
  "country": "United States of America",
  "countryCode": "yu",
}, {
  abbreviate: true,
  fallbackCountryCode: 'UK'
});
/*
301 Hamilton Ave
Palo Alto
94303
USA
*/

// You can get the address as a list of lines to make your formatting easier
const formattedAsLines = addressFormatter.format({
  "houseNumber": 301,
  "road": "Hamilton Avenue",
  "neighbourhood": "Crescent Park",
  "city": "Palo Alto",
  "postcode": 94303,
  "county": "Santa Clara County",
  "state": "California",
  "country": "United States of America",
  "countryCode": "US",
}, {
  output: 'array'
});
/*
[
  '301 Hamilton Avenue',
  'Palo Alto, CA 94303',
  'United States of America'
]
*/
```

### 网页直接使用

```html
<script type="text/javascript" src="https://unpkg.com/@fragaria/address-formatter@latest"></script>
<script type="text/javascript">
  const formatted = window.addressFormatter.format({
    "houseNumber": 301,
    "road": "Hamilton Avenue",
    "neighbourhood": "Crescent Park",
    "city": "Palo Alto",
    "postcode": 94303,
    "county": "Santa Clara County",
    "state": "California",
    "country": "United States of America",
    "countryCode": "US",
  });
  /*
  301 Hamilton Avenue
  Palo Alto, CA 94303
  United States of America
  */
</script>
```

## 开发和测试

```sh
$ git clone git@github.com:fragaria/address-formatter.git
$ cd address-formatter
# Install the proper NodeJS
$ nvm install
# Download the /OpenCageData/address-formatting/ spec
$ npm run pull-submodules
# Install dependencies
$ npm install
# Generate JS-friendly spec
$ npm run prepare-templates
# Run the tests
$ npm test
```

### 释放

```sh
$ npm version X.Y.Z
$ git push origin master && git push origin vX.Y.Z
```

而CI服务器负责其他的

# 需要帮助

所有拉动请求都是绝对欢迎的. 如果有一个地址 格式化不良,直接向 [原始仓库](https://github.com/OpenCageData/address-formatting/) 最小本地化测试箱.

# 承认

得益于这些执行

-   [佩尔](https://github.com/OpenCageData/perl-Geo-Address-Formatter)
-   [前一頁](https://github.com/predicthq/address-formatter-php)

## 常见问题

### @fragaria/address-formatter 是什么？

通用国际地址格式化 Javascript

### 如何安装 @fragaria/address-formatter？

在项目目录运行 npm install @fragaria/address-formatter，或使用 pnpm add / yarn add / bun add。

### @fragaria/address-formatter 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fragaria/address-formatter 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @fragaria/address-formatter 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @fragaria/address-formatter 可以商用吗？

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

### @fragaria/address-formatter 的下载量有多少？

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

### @fragaria/address-formatter 还在维护吗？

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

