# webpack5-ts-pack
**Repository Path**: DoraZC/webpack5-ts-pack
## Basic Information
- **Project Name**: webpack5-ts-pack
- **Description**: webpack5打包笔记
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-11-17
- **Last Updated**: 2023-11-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 基于 webpack5 构建的 js 工具库
支持 TypeScript;
支持输出多种模块化文件(UMD、CommonJS、ESM 等),便于引入使用;
支持按需加载(ESM Tree Shaking);
支持自动化测试;
## Install
```sh
npm i javascript-lib
#or
yarn add javascript-lib
```
## Usage
```js
import calc from "javascript-lib";
console.log(calc.add(1, 2));
this.img = await calc.urlToBase64(
  "https://suxiaoka.oss-cn-shenzhen.aliyuncs.com/app/upload/default/20231122/ae79ac0b6b4b4974843910bcaeac643f.jpg"
);
// or 按需引入
import add from "javascript-lib/es/add.esm";
import urlToBase64 from "javascript-lib/es/urlToBase64.esm";
console.log(add(1, 2));
this.img = await urlToBase64(
  "https://suxiaoka.oss-cn-shenzhen.aliyuncs.com/app/upload/default/20231122/ae79ac0b6b4b4974843910bcaeac643f.jpg"
);
```
#### 1.ESM 引入 需要把依赖下载下来
```js
//整体引入
import calc from "javascript-lib";
//按需加载引入
import { add } from "javascript-lib";
```
#### 2.CommonJS 引入 需要把依赖下载下来
```js
const calc = require("javascript-lib");
```
#### 3.通过https://cdn.jsdelivr.net/npm/javascript-lib在线引入
## Image related events
| 事件名                       | 说明                                            | 参数                                      | 返回值      |
| :--------------------------- | :---------------------------------------------- | :---------------------------------------- | :---------- |
| getBase64Img(imgObj)         | 根据图片对象获取 base64 图片                    | imgObj(new Image()对象)                 | base64 图片 |
| urlToBase64(url)             | 网络图片转 base64 (new Image() + canvas 方式) | url(图片地址)                           | base64 图片 |
| getBase64ByUrl(url)          | 网络图片转 base64 (xhr + FileReader)          | url(图片地址)                           | base64 图片 |
| base64ToFile(data, fileName) | 将 base64 图片转成 file 对象                    | (data:base64 字符串, fileName:文件名) | file 对象   |
| urlToFile(url, imgName)      | 图片地址转 file 对象                            | (url:图片地址, imgName:图片名称)      | file 对象   |
## time related events
| 事件名                        | 说明                         | 参数                                              | 返回值                      |
| :---------------------------- | :--------------------------- | :------------------------------------------------ | :-------------------------- |
| formatTime(timestamp: number) | 根据时间戳返回多少秒分时天前 | timestamp: number                                 | 秒/分/小时/昨天/今天/x 天前 |
| dateFormat(timestamp,formats) | 把时间戳转换成 formats 格式  | timestamp: number,formats: string(Y 年 m 月 d 日) | Y 年 m 月 d 日              |
| transformSecond(second)       | 把时间戳转换成秒             | second: number                                    | XX 秒                       |