Skip to content

安装指南

relationship-ts 支持多种安装和使用方式。

包管理器安装

npm

bash
npm install relationship-ts

pnpm

bash
pnpm add relationship-ts

yarn

bash
yarn add relationship-ts

bun

bash
bun add relationship-ts

模块化引入

主库(简体中文)

ts
import relationship from 'relationship-ts';

繁体中文版本

ts
import relationship from 'relationship-ts/zh-HK';

方言模式数据

ts
// 粤语(广东)方言
import { guangdong } from 'relationship-ts/locale/guangdong';

// 北方方言
import north from 'relationship-ts/locale/north';

// 设置方言模式
relationship.setMode('guangdong', guangdong.data);
relationship.setMode('north', north.data);

浏览器直接引入

CDN 引入

html
<!-- 主库(简体中文) -->
<script src="https://cdn.jsdelivr.net/npm/relationship-ts/dist/relationship.min.js"></script>

<!-- 繁体中文版本 -->
<script src="https://cdn.jsdelivr.net/npm/relationship-ts/dist/lang/relationship.zh-HK.min.js"></script>

本地文件引入

下载 dist/relationship.min.js 到项目中,然后引入:

html
<script src="./path/to/relationship.min.js"></script>

<script>
  const result = relationship({ text: '爸爸的妈妈' });
  console.log(result); // ['奶奶', '祖母']
</script>

使用方言模式

html
<!-- 主库 -->
<script src="./path/to/relationship.min.js"></script>
<!-- 方言模式数据 -->
<script src="./path/to/relationship-mode.min.js"></script>

<script>
  // 设置广东方言模式
  relationship.setMode('guangdong', relationshipMode.guangdong.data);

  // 使用方言模式查询
  relationship({ text: '妈妈的妈妈', mode: 'guangdong' });
  // => ['阿婆']
</script>

TypeScript 类型支持

relationship-ts 内置完整的 TypeScript 类型定义,无需额外安装。

ts
import relationship, type { RelationshipOptions, Sex, OutputType } from 'relationship-ts';

// 类型会被自动推导
const options: RelationshipOptions = {
  text: '爸爸的妈妈',
  sex: 1,
  type: 'default',
};

const result = relationship(options);
// result: string[]

React Native

在 React Native 项目中使用,只需正常安装即可:

bash
npm install relationship-ts
tsx
import relationship from 'relationship-ts';

const result = relationship({ text: '爸爸的妈妈' });
console.log(result); // ['奶奶', '祖母']

为什么 TypeScript 版本更适合 React Native?

原版 JS 包在 React Native 中可能会报错:Property storage exceeds 196607 properties

TypeScript 版本使用 Map 代替 Object 存储数据,完美解决了这个问题。

下一步

基于 MIT 许可发布