Skip to content

Utils ​

@tripo3d/utils · Tripo 前端共享工具集,按子入口分发,Tree-shaking 友好。

特性 ​

☁️

S3 存储

基于 @aws-sdk/client-s3,封装上传、下载、签名等常用操作

📅

日期工具

基于 dayjs,通过 dayjsInit() 注册 utc / timezone 插件

📱

设备检测

isMobileDevice 等 UA 判断工具

⬇️

文件下载

download() / readFileAsDataURL() 等浏览器文件交互

🛰️

事件总线

createEventBus 通用 pub/sub,支持泛型 / once / has,无 DOM 或框架依赖

🌿

按需引入

默认 / date / resource 三个入口分别导出,按需引入不拖慢打包

🎯

零样板

所有函数均为纯函数,无全局状态,便于测试与组合

安装 ​

请先完成 GitHub Packages 认证配置。

bash
pnpm add @tripo3d/utils

三个入口 ​

ts
// 默认入口:通用工具 + storage + 事件总线
import { createEventBus, download, isMobileDevice, readFileAsDataURL, sleep } from '@tripo3d/utils';

// 日期入口:dayjs 工具函数 + 一次性 init(注册 utc / timezone 插件)
import { dayjsInit, utcToDetailed, utcToApproximate } from '@tripo3d/utils/date';
dayjsInit();

// 资源入口:AWS S3 操作
import { upload, partUpload } from '@tripo3d/utils/resource';

快速开始 ​

ts
import { createEventBus, download, sleep } from '@tripo3d/utils';

await sleep(1000);

download('https://example.com/file.zip', 'file.zip');

const bus = createEventBus<{ login: { id: number } }>();
bus.once('login', user => console.log(user.id));
bus.emit('login', { id: 1 });

下一步 ​

基于 MIT 协议发布(内部使用)