> cityData 中国省市区三级联动数据

  [![npm](https://img.shields.io/badge/npm-6.11.1-blue.svg)](https://www.npmjs.com/package/city-data)
  [![npm](https://img.shields.io/npm/dw/city-data.svg)](https://www.npmjs.com/package/city-data)
  [![Build Status](https://travis-ci.org/Selvin11/city-data.svg?branch=master)](https://travis-ci.org/Selvin11/city-data)
  [![Coverage Status](https://coveralls.io/repos/github/Selvin11/city-data/badge.svg?branch=master)](https://coveralls.io/github/Selvin11/city-data?branch=master)

## 更新日志

### 1.2.6

  1. 将默认引入文件index.js拆分为移动端和PC端文件，以方便按需引入
  2. 调整文件目录结构

### 1.2.4

  1. 调整cvux数据格式

### 1.2.3

  1. 将rollup打包的格式改为`cjs`
  2. 将默认引入文件制定为`lib/index.js`

### 1.2.2

  1. 版本代码风格升级为es6, 以便支持treeshake
  2. es5(umd) 格式代码在lib目录,但是由于要支持pc和cvux,代码量大了一倍,且无法treeshake
  3. 用户默认引用的是es6的代码

## 使用说明

1. 安装npm包：

    ```bash
    npm install city-data
    ```

2. 引入使用：可参考安装包`lib/index.js`，自定义名称，按需引入

    ```javascript
    // cvux格式文件，及工具函数引入
    import { cvux as 自定义名称, tools } from 'city-data/lib/mobile'
    const value2name = tools.value2name
    const name2value = tools.name2value

    // pc格式文件，及工具函数引入
    import { province, city, area, tools } from 'city-data/lib/pc'
    const value2name = tools.value2name
    const name2value = tools.name2value
    ```
3. 构建打包命令
  * `npm run build` 生成新的lib,但不会重新生成cvux和pc端数据
  * `npm run build:all` 首先从源数据重新生成cvux和pc端数据，接着生成行的lib包

## 数据说明

1. 源数据为`back_end_data.js`，我司后端使用的源数据

2. 生成前端数据格式的指令：

  * `npm run build-cvux`：生成前端`cvux`中使用的数据格式，`./data/china_address_cvux.json`

    ```javascript
      [
        {
            "name": "北京市",
            "value": "110000"
        },
        ...
      ]
    ```

  * `npm run build-pc`：生成前端`pc`中使用的数据格式，`./data/china_address_pc.js`

    ```javascript
      module.exports = {
        province: [],
        city: [],
        area: []
      }
    ```


## 数据来源说明

* 参照`china-area-data`npm包，使用国家统计局发布的省市区文件，根据我司业务情况，对数据进行了修改


## Github👏

  [Github](https://github.com/Selvin11/city-data)


## License

  [MIT](LICENSE)