跳至主要內容


基础库

1.快速上手

1.安装

NPM 方式

CDN 方式

2.使用

  • 简洁路径:已在 package.json 的 exportsminiprogram 字段配置,常用于 vue、node、小程序环境。
  • 完整路径:可自行选用 src 或 dist 目录,无法使用简洁路径的环境可使用完整路径,或配置 aliasImport maps 使用简洁路径。

2.各模块示例

2.1 base 基础通用

2.1.1 base/base

BaseEnv 环境判断
属性说明
envs代码运行环境,如 ['browser', 'chrome-extension'], ['node']
isBrowser根据 envs 得到
isNode根据 envs 得到
os操作系统: windows, mac, linux, ...
isWindows根据 os 得到
isMac根据 os 得到
isLinux根据 os 得到

2.1.2 _console 控制台

写法对应:浏览器 Console API, node console

属性说明
log常规
warn警告
error报错
success成功
end结束
dir
table
group
groupCollapsed
groupAction
getStackInfo基础方法
show基础方法
...其他同名属性继承

2.1.3 _Object

属性说明
static:
keys相对于 Object.keys 扩展,增加了选项处理需要不同属性的情况
values对应 keys 配套
entries对应 keys 配套
getOwner属性定义所在的最近对象(来自自身或继承),便于后续方法获取 descriptor 等操作
getPropertyDescriptor相对于 Object.getOwnPropertyDescriptor 扩展
getPropertyDescriptors相对于 Object.getPropertyDescriptors 扩展
assign浅合并对象,通过重定义方式合并以对 get/set 惰性求值的属性的处理
deepAssign深合并对象,同 assign 使用重定义方式
filter过滤对象取部分值
pick根据 filter 得到,挑选方式
omit根据 filter 得到,排除方式
bindThis对象的函数属性绑定 this,方便 vue 中如 @click="formInfo.click" 简便写法

2.1.4 _Function

属性说明
static:
pipe管道操作, x |> f1 |> f2 |> ...
NOOP空函数
RAW原样返回
FALSE返回 false
TRUE返回 true

2.1.5 _Number

属性说明
static:
toMaxFixed相对于 Number.prototype.toFixed 会移除尾部多余的零和小数点,以精简显示
convertBase进制转换
isPrime素数判断

2.1.6 _Math

相对于 Math 对象提供更直观和符合数学约定的名称,方便解构后顺手使用

属性说明
static:
PHI黄金分割比 ${\Phi}$=$\frac{\sqrt{5} - 1}{2}$
PHI_BIG$\frac{1}{\Phi}$=$\frac{\sqrt{5} + 1}{2}$
arcsin$\arcsin{x}$
arccos$\arccos{x}$
arctan$\arctan{x}$
arsinh${arsinh} {x}$
arcosh${arcosh} {x}$
artanh${artanh} {x}$
log$\log_a{x}$
loge$\log_e{x}$
ln$\ln{x}$
lg$\lg{x}$
factorial$n!$
permutation$A_n^k=P(n,k)=\frac{n!}{(n-k)!}$
combination$C_n^k=\binom{k}{n}=\frac{n!}{k!(n-k)!}$
A$A_n^k$ 简写方式
C$C_n^k$ 简写方式
Sequence数列,基础方法用于继承
ArithmeticSequence等差数列:$a_1, a_1+d, a_1+2d, \ldots$
GeometricSequence等比数列:$a_1, a_1q, a_1q^2, \ldots$
FibonacciSequence斐波那契数列:$1, 1, 2, 3, 5, 8, 13, \ldots$
PrimeSequence素数数列:$2, 3, 5, 7, 11, 13, 17, 19, \ldots$

2.1.7 _Date

属性说明
static:
sleep延迟操作
prototype:
constructor
year
isLeapYear
month
day
week
hour
shortHour
minute
second
millisecond
microsecond
timeZoneOffsetHour
setTime
setYear
setFullYear
setMonth
setDate
setHours
setMinutes
setSeconds
setMilliseconds
setUTCFullYear
setUTCMonth
setUTCDate
setUTCHours
setUTCMinutes
setUTCSeconds
setUTCMilliseconds
Symbol.toPrimitive
toNumber
toString
toBoolean
toJSON
toDateString
toTimeString

2.1.8 _String

属性说明
static:
toFirstUpperCase首字母大写
toFirstLowerCase首字母小写
toCamelCase转驼峰命名
toLineCase转连接符命名
getUnitString带单位字符串

2.1.9 _Array

属性说明
static:
namesToArray属性名统一成数组格式,手动传参用
prototype:
constructor
push
pop
remove
unshift
shfit
clear
with
toSpliced
toSorted
toReserved
Symbol.toPrimitive
toNumber
toString
toBoolean
toJSON
toArray
toCustomArray
toSet
toCustomSet
...其他同名属性继承

2.1.10 _Set

属性说明
static:
cup$A \cup B \cup \ldots$
cap$A \cap B \cap \ldots$
setminus$A \setminus B \setminus \ldots$
prototype:
constructor
add
delete
Symbol.toPrimitive
toNumber
toString
toBoolean
toJSON
toArray
toCustomArray
toSet
toCustomSet
...其他同名属性继承

2.1.11 _JSON

专注于 JSON 支持的类型:null,number,string,boolean,array,object,前后端数据交互用

属性说明
static:
typeof判断类型
DataModel数据模型
model创建 DataModel 实例简写方式
number创建 DataModel 实例简写方式
string创建 DataModel 实例简写方式
boolean创建 DataModel 实例简写方式
array创建 DataModel 实例简写方式
object创建 DataModel 实例简写方式

2.1.12 _Reflect

属性说明
static:
ownValues对应 Reflect.ownKeys 的配套
ownEntries对应 Reflect.ownKeys 的配套

2.1.13 _Proxy

属性说明
static:

2.2 storage 存储

2.2.1 clipboard 剪贴板

同浏览器 Clipboard API 使用

链接
browserClipboard API
nodechild_process
wx剪贴板
属性说明browsernodewx
copy复制
paste粘贴
copySync复制(同步方式)
pasteSync粘贴(同步方式)
writeText同 copy
readText同 paste
writeTextSync同 copySync
readTextSync同 pasteSync

2.2.2 Web Storage

同浏览器 Web Storage API 使用,同样专注于前后端交互的 JSON, 存取方法默认做了 JSON 转换

链接
browserWeb Storage API
node
wx数据缓存
对象说明browsernodewx
_sessionStorage对应 sessionStorage
_localStorage对应 localStorage
属性说明browsernodewx
setItem存值
getItem取值
toObject转换成对象
...其他同名属性继承

操作 Web Cookie

链接
browserHTTP Cookie
noderequest.setHeader
wx
对象说明browsernodewx
BaseCookie基础 class
cookiebrowser 用
BaseCookie
属性说明browsernode
prototype:
constructor
get存值
set取值
value
length
toArray
toObject
has
remove
clear

2.3 dev 开发

2.3.1 markdownlint

markdownlint 配置

2.3.2 stylelint

stylelint 配置

2.3.3 eslint

eslint 配置eslint-plugin-vue 配置typescript-eslint 配置

eslint 9.x
eslint 8.x

2.3.4 prettier

prettier 配置

2.3.5 commitlint

commitlint 配置husky

2.3.6 vite

vite 配置

2.4 performance 性能

2.4.1 monitor 稳定性监控

3.当前项目开发

3.1 开始

# 刷新状态
pnpm run refresh
# 自引用,确保引 dist 的文件也能导航到源代码
pnpm link ./

3.2 开发中

pnpm run build:watch
pnpm run docs:dev

3.3 发布

# 已配置 prepublishOnly
npm publish
上次编辑于:
贡献者: hp