1.0.0 • Published 6 months ago
@aixdb/utils v1.0.0
@aixdb/utils
一个用于生成和管理 JSON-LD 数据的 TypeScript 工具库。该库提供了简单易用的 API 来生成符合 Schema.org 规范的 JSON-LD 数据,支持网站基本信息、组织信息、产品列表、面包屑导航等多种结构化数据。
特性
- 🚀 完全使用 TypeScript 编写,提供完整的类型定义
- 📦 支持多种模块格式(CommonJS、ES Module、UMD)
- 🎯 符合 Schema.org 规范
- 🔧 支持自定义配置和扩展
- 📝 详细的代码注释和文档
安装
使用 npm:
npm install @aixdb/utils使用 yarn:
yarn add @aixdb/utils使用 pnpm:
pnpm add @aixdb/utils使用方法
基础配置
import { getConfig, generateJsonLd } from '@aixdb/utils';
// 基础配置数据
const configData = {
siteUrl: 'https://example.com',
title: '网站标题',
description: '网站描述',
keywords: '关键词1,关键词2',
menu: [
{
ID: '1',
name_ch: '首页',
path: '/',
type: 'home',
children: []
}
],
products: [],
knowledge: [],
news: [],
companyName: '公司名称',
brandName: '品牌名称',
address: '公司地址',
phoneNumber: '1234567890',
email: 'contact@example.com'
logourl: 'https://example.com/logo.png'
};
// 生成 JSON-LD 配置
const jsonLdConfig = getConfig(configData);
// 生成特定页面的 JSON-LD 数据
const pageJsonLd = generateJsonLd(jsonLdConfig, '/products/detail/123');支持的 JSON-LD 类型
- WebPage
- Organization
- Product
- BreadcrumbList
- ItemList
API 文档
getConfig(configData: ConfigData): JsonLdConfig
生成完整的 JSON-LD 配置。
参数:
configData: 配置数据对象,包含网站基本信息、菜单结构、产品列表等
返回:
JsonLdConfig: JSON-LD 配置对象
generateJsonLd(config: JsonLdConfig, path: string): Record<string, unknown>
生成特定页面的 JSON-LD 数据。
参数:
config: JSON-LD 配置对象path: 当前页面路径
返回:
Record<string, unknown>: 生成的 JSON-LD 数据对象
开发
# 安装依赖
pnpm install
# 开发模式
pnpm dev
# 构建
pnpm build
# 代码检查
pnpm lint
# 代码格式化
pnpm format类型定义
interface ConfigData {
siteUrl: string;
title: string;
description: string;
keywords: string;
menu: MenuNode[];
products: any[];
knowledge: any[];
news: any[];
companyName: string;
brandName: string;
address: string;
phoneNumber: string;
email: string;
logourl: string;
};
interface MenuNode {
ID: string;
name_ch: string;
path: string;
type: string;
children?: MenuNode[];
}