文档中心

探索 DWeb 框架的无限可能,构建下一代高性能 Web 应用

工具函数概述

DWeb 框架提供了丰富的工具函数库,涵盖数组、字符串、时间、HTTP、Web3 等常用功能,帮助开发者快速构建应用。

快速开始

工具函数按功能模块组织,每个模块都有独立的导入路径。你可以根据需要导入特定的函数。

Code
// 导入需要的工具函数
import { chunk, unique } from "@dreamer/dweb/utils/array";
import { formatDate, formatCurrency } from "@dreamer/dweb/utils/format";
import { debounce, throttle } from "@dreamer/dweb/utils/performance";
import { http, get, post } from "@dreamer/dweb/utils/http";
import { createWeb3Client } from "@dreamer/dweb/utils/web3";

// 数组操作
const chunks = chunk([1, 2, 3, 4, 5], 2);
const uniqueItems = unique([1, 2, 2, 3, 3, 3]);

// 格式化
const date = formatDate(new Date(), "YYYY-MM-DD");
const price = formatCurrency(1234.56);

// 性能优化
const debouncedSearch = debounce((query) => {
  console.log("搜索:", query);
}, 300);

// HTTP 请求
const data = await get("/api/users");

// Web3 操作
const web3 = createWeb3Client({
  rpcUrl: "https://mainnet.infura.io/v3/YOUR_PROJECT_ID",
});

功能模块

导入方式

每个工具模块都有独立的导入路径,使用 @dreamer/dweb/utils/{模块名} 格式导入:

Code
// 数组工具
import { chunk, unique, groupBy } from "@dreamer/dweb/utils/array";

// 字符串工具
import { toCamelCase, toKebabCase } from "@dreamer/dweb/utils/string";

// 时间工具
import { addDays, diffDays, isToday } from "@dreamer/dweb/utils/time";

// HTTP 工具
import { http, get, post } from "@dreamer/dweb/utils/http";

// Web3 工具
import { createWeb3Client, fromWei, toWei } from "@dreamer/dweb/utils/web3";

环境兼容性

大部分工具函数都可以在服务端和客户端使用,但部分功能有环境限制:

  • 通用模块:array、string、math、time、url、utils、validation、format、cache - 可在服务端和客户端使用
  • 客户端模块:storage - 依赖浏览器 localStorage/sessionStorage API
  • 混合模块:http、file、performance - 主要功能通用,部分功能需要特定环境
  • Web3 模块:web3 - 钱包连接需要在浏览器环境,RPC 调用可在服务端使用
  • 加密模块:crypto - 依赖 Web Crypto API,需要现代浏览器或 Deno 环境

使用建议

  • 按需导入:只导入需要的函数,减少打包体积
  • 类型安全:所有函数都提供完整的 TypeScript 类型定义
  • 性能优化:使用防抖、节流等性能工具优化高频操作
  • 错误处理:HTTP 和 Web3 工具提供完善的错误处理机制
  • 文档参考:每个模块都有详细的文档和示例代码

相关文档