@wxa/core

    2.3.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性能。✈️

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

    特性

    • 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});
        }
    }

    Keywords

    none

    Install

    npm i @wxa/core

    DownloadsWeekly Downloads

    18

    Version

    2.3.1

    License

    MIT

    Unpacked Size

    927 kB

    Total Files

    124

    Last publish

    Collaborators

    • genuifx
    • zehuiguan
    • lucaszhu
    • fanniehuang
    • baoooooo