## 组件使用文档

### 版本管理

本项目使用[Changesets](https://github.com/changesets/changesets)进行版本管理。

#### 开发流程：
1. 开发新功能/修复bug后运行：`npm run changeset`
2. 选择变更类型(patch/minor/major)并描述变更
3. 变更集会自动提交到git

#### 发布流程：
1. 准备发布时运行：`npm run version` (更新版本和CHANGELOG.md)
2. 发布新版本：`npm run release` (自动构建并发布)

### 组件发布

1、执行`yarn build`打包文件

2、命令行使用`npm login`登录 npm

3、使用`npm publish`发布

### 组件安装

```bash
yarn add @glodon-aiot/minio
```
或者
```bash
npm install @glodon-aiot/minio
```

### 模块化支持
本项目使用UMD(Universal Module Definition)格式打包，支持以下模块化方案：
- ES Modules (import/export)
- CommonJS (require)
- AMD (define/require)

### 组件使用

```javascript
import { initMinio, putObjectBuffer, Minio } from "@glodon-aiot/minio";

// 初始化Minio客户端
const minioClient = initMinio({
  endPoint: 'play.min.io',
  port: 9000,
  useSSL: true,
  accessKey: 'your-access-key',
  secretKey: 'your-secret-key'
});

// 使用putObjectBuffer上传文件
async function uploadFile() {
  try {
    const bucketName = 'your-bucket-name';
    const objectName = 'example.txt';
    const buffer = Buffer.from('Hello MinIO!', 'utf8');
    
    await putObjectBuffer(minioClient, bucketName, objectName, buffer);
    console.log('File uploaded successfully');
  } catch (err) {
    console.error('Upload error:', err);
  }
}

uploadFile();
```

附：

[minio 源码](https://github.com/minio/minio-js)
