@wxa/core

2.5.1 • Public • Published

@wxa/core

NpmLicense NPM version npm bundle size (minified + gzip) Github Actions

@wxa/core是一个非常小巧的包,提供了网络请求、缓存操作、事件总线、Mixins等能力。

core通过新增一个生命周期函数beforeRouteEnter,使得开发者可以快速实现预加载特性。

对于数据量较大的情况,通过提供一个内置的$diff,数据进行diff和flatten操作后再调用setData,减少每次传递的数据量,提高setData性能。:airplane:

core可以单独使用,但是一般推荐配合@wxa/cli2一起使用,体验更佳:kissing:

特性

  • Fetch 自动防重,自动队列管理的网络请求方法。
  • Router 简洁的跳转API,实现预加载的关键。
  • Eventbus 跨页面,跨组件交互的简单方案。
  • Mixins 混合,跨页面、跨组件复用逻辑。
  • Diff 增量设置数据。
  • Storage 小程序持久化缓存数据。
  • SessionStorage 应用周期内缓存数据。

安装

# 使用npm安装
npm i @wxa/core

简单用例

import {Page, Lock, Debounce} from '@wxa/core';

// Page装饰器,相当于引入Router、Storage、Fetch等装饰器
@Page
export default class Index {
    async onLoad() {
        let slogan = await this.foo();
    }

    async foo() {
        return await Promise.resolve('Hey, Async/Await is usabled');
    }

    @Lock
    @Debounce
    tap({detail: {value}}) {
        return this.$fetch('/log', {value});
    }
}

Versions

Current Tags

Version History

Package Sidebar

Install

npm i @wxa/core

Weekly Downloads

4

Version

2.5.1

License

MIT

Unpacked Size

187 kB

Total Files

59

Last publish

Collaborators

  • genuifx
  • zehuiguan
  • lucaszhu
  • fanniehuang
  • baoooooo