V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
guyskk0x0
V2EX  ›  分享创造

Hami-Vuex 开源了,哈密瓜味的 Vuex!

  •  
  •   guyskk0x0 ·
    guyskk · 2021-12-19 11:16:55 +08:00 · 2714 次点击
    这是一个创建于 831 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Hami-Vuex 是一个 Vue 状态管理的库,基于 Vuex 实现,提供了更「香甜」的使用方式,所以叫做哈密瓜味的 Vuex !

    主要特点:

    • 基于 Vuex 构建,可与 Vuex 3 & 4 兼容和混合使用
    • 兼容 Vue 2 和 Vue 3 ,低学习成本,无迁移压力
    • 易于编写模块化的业务代码,Store 文件不再臃肿
    • 完全的 TypeScript 支持,代码提示很友好
    • 类似 Pinia 的用法(可能还更简单)
    • 单元测试 Line Coverage: 100%

    举个简单的例子,体验一下:

    const counterStore = hamiVuex.store({
    
        // 设置一个唯一名称,方便调试程序和显示错误信息
        $name: 'counter',
    
        // 定义状态
        $state: {
            count: 0,
        },
    
        // 定义一个 getter ,和 Vue computed 类似
        get double() {
            return this.count * 2
        },
    
        // 定义一个函数,等价于 Vuex action
        increment() {
            // $patch 是内置的 Vuex mutation ,用于更新状态
            this.$patch({
                count: this.count + 1
            })
        },
    })
    
    // 在 Vue 组件中使用
    console.log(counterStore.count)
    console.log(counterStore.increment())
    console.log(counterStore.double)
    

    开源地址:

    GitHub:https://github.com/guyskk/hami-vuex

    详细文档及设计思路都在 GitHub 仓库中,欢迎品尝!
    好用的话求 Star 哇!

    4 条回复    2021-12-19 17:03:40 +08:00
    Rebron1900
        1
    Rebron1900  
       2021-12-19 12:45:36 +08:00
    哈哈,忽然刷到你还有点惊讶。
    guyskk0x0
        2
    guyskk0x0  
    OP
       2021-12-19 13:51:10 +08:00 via Android
    @Rebron1900 好久不见😃
    Kilerd
        3
    Kilerd  
       2021-12-19 16:57:37 +08:00 via iPhone
    你跑去写前端了?
    guyskk0x0
        4
    guyskk0x0  
    OP
       2021-12-19 17:03:40 +08:00
    @Kilerd #3 现在前后端都写,各占一半吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5405 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 06:49 · PVG 14:49 · LAX 23:49 · JFK 02:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.