bigonion 发表于 2023-1-24 00:15:46

控制台调试库bigonion-kit (dev)

本帖最后由 bigonion 于 2023-3-11 11:53 编辑

# Web调试库bigonion-kit (dev)

## 起因

最近发现自己写脚本重复的函数比较多,捉摸着写一个自己的Npm包,来封装这些常用的库,并适当的暴露到全局变量当中
另外为了解决原生cookie操作比较困难,console.log,document.getElementById写起来比较费劲,没有直观的delay延迟函数等这些痛点问题,提供了

* log
* findId
* findClass
* setCookie
* getCookie
* sleep

等等这些非常简单,但是一时间想在控制台调试(比如kit.addStyle就对应了GM_addStyle),却又不太好写的函数,也不太愿意导入类似与Jquery这些非常臃肿的包,bigonion-kit 就很好解决了这些痛点,可以帮助你更方便的在控制台调试

## 快速上手

```js
// @require https://cdn.jsdelivr.net/npm/bigonion-kit/umd/umd-kit.min.js
//油猴(或其他)导入后控制台直接输入以下代码,快速体验
kit.addStyle(`body{background:pink}`)//快速增加style

sleep(2000).then(()=>{log("Delaying now is so easy!")})//delay函数

kit.sound2Word()//快速语言转换
```

# Onion的dev-kit

## npm链接
(https://www.npmjs.com/package/bigonion-kit?activeTab=readme)

## 下载(Download)

```js
npm i bigonion-kit
```

## 简介(Introduction)

本NPM包提供了This NPM package provides

* moveIt
* findId
* findClass
* setCookie
* getCookie
* log
* sleep
* addStyle
* removeAddedStyle
* sound2Word
* getUUID
* ajax
* isFocus
    常用方法(未完待续...)

## 支持umd,web请使用umd来导入(Support umd, please use umd to import web)

eg:

```js
<script src="https://cdn.jsdelivr.net/npm/bigonion-kit/umd/umd-kit.min.js"></script>
```

ES6导入

```js
<script type="module">
    import kit from "https://cdn.jsdelivr.net/npm/bigonion-kit/index.min.mjs";
    window.kit = kit;
    window.moveIt = kit.moveIt;
    window.findId = kit.findId;
    window.findClass = kit.findClass;
    window.setCookie = kit.setCookie;
    window.getCookie = kit.getCookie;
    window.log = kit.log;
    window.sleep = kit.sleep;
    window.version=kit.version;
</script>
```

## Nodejs

使用.mjs扩展来支持import

```js
import kit from 'bigonion-kit/index.mjs'
```

或commonJS规范

```js
const kit = require('bigonion-kit/umd/umd-kit.js')
```

来快速导入

## 函数详情 (Function details)

web已经挂载全局变量,可以直接输入`kit`来查看已有的函数
也可以直接控制台输入

```js
log("你好")
```

来使用

### **sleep**

Eg:

```js
/**
* fast pause some time, just like delay function
* @param {int} time
* @Return {Promise}
* @public
*/

sleep(3000).then(()=>{log("你已经成功导入devKit")})
```

### **log**

Eg:

```js
/**
* fast log sth...
* @param {string} a
* @public
*/

log("Nihao")
```

### **findId**

Eg:

```js
/**
* fast find Element by Id
* @param {string} id
* @return {Object}
* @public
*/

findId("id")
```

### **findClass**

Eg:

```js
/**
* fast find Element by className
* @param {string} className
* @return {Array}
* @public
*/

findClass("className")
```

### **moveIt**

Eg:

```js
/**
* fast move Sth by holding on "controlEle" to move "movedEle"
* @param {Object} controlEle
* @param {Object} movedEle
* @public
*/
controlEle=findId("controlEle")
movedEle=findId("movedEle")
moveIt(controlEle,movedEle)
```

### **setCookie**

Eg:

```js
/**
* fast set cookie by Native function
* @param {string} cname
* @param {Any} cvalue
* @param {int} exdays {days}
* @public
*/

setCookie("cookieName","cookieValue", 30)
```

### **getCookie**

Eg:

```js
/**
* fast get cookie value
* @param {string} cname
* @return {string} cvalue
* @public
*/

getCookie("cookieName")
```

## 版本更新日志(Version update log)

v0.4.x demo Verv0.5.3 增加了esm和 umd模块
v0.7.4 增加了isFocus、ajax、setClipboard、getUUID

## 开源协议(Open source agreement)

**MIT**

## 作者(Author)

**bigonion**

nameSpace: (https://bigonion.cn)| [大聪花的家](https://bigonion.cn)
Email: bigonion@bigonion.cn **&&** olderonion@gmail.com

shabby 发表于 2023-1-24 12:32:52

没有类型提示吗?

bigonion 发表于 2023-1-24 16:36:48

shabby 发表于 2023-1-24 12:32
没有类型提示吗?

函数详情写了类型,但是你的意思是控制台提示类型吗?

shabby 发表于 2023-1-25 10:42:38

bigonion 发表于 2023-1-24 16:36
函数详情写了类型,但是你的意思是控制台提示类型吗?

呃呃,我的意思是通过 pnpm 安装然后在 vscode 里使用的时候的 类型提示

bigonion 发表于 2023-1-25 16:55:29

shabby 发表于 2023-1-25 10:42
呃呃,我的意思是通过 pnpm 安装然后在 vscode 里使用的时候的 类型提示

这个怎么实现呢{:4_102:}

李恒道 发表于 2023-1-25 20:05:58

bigonion 发表于 2023-1-25 16:55
这个怎么实现呢

packjson里声明types类型库
或者独立一个编译一个dts发布到ts的tpyes库里

王一之 发表于 2023-1-25 21:51:24

李恒道 发表于 2023-1-25 20:05
packjson里声明types类型库
或者独立一个编译一个dts发布到ts的tpyes库里
话说jsdoc可以么?

不写ts,dts好麻烦啊

李恒道 发表于 2023-1-25 22:06:04

王一之 发表于 2023-1-25 21:51
话说jsdoc可以么?

不写ts,dts好麻烦啊

ts的资料已经很少了
jsdoc的资料更少,而且类型支持能力也不是dts灵活
写jsdoc几乎可以说是自己为难自己...

bigonion 发表于 2023-1-26 16:33:21

李恒道 发表于 2023-1-25 22:06
ts的资料已经很少了
jsdoc的资料更少,而且类型支持能力也不是dts灵活
写jsdoc几乎可以说是自己为难自己. ...

最近去看看ts

李恒道 发表于 2023-1-26 16:35:03

bigonion 发表于 2023-1-26 16:33
最近去看看ts

哥哥加油~
页: [1]
查看完整版本: 控制台调试库bigonion-kit (dev)