写点什么

Vuex 4 正式发布:打包现在与 Vue 3 一致

2021 年 2 月 05 日

Vuex 4 正式发布:打包现在与 Vue 3 一致

Vuex 是一个专门为 Vue.js 应用程序开发的状态管理模式。Vuex 采用集中式存储管理应用的所有组件组件的状态。换句话说,Vuex 就是帮开发者存储多个组件共享的数据,方便开发者对其读取的更改的工具。


Vuex 4 正式版本现已正式发布。


Vuex 4 的改进重点是兼容性。Vuex 4 支持 Vue 3,并提供了与 Vuex 3 完全相同的 API,因此用户可以在 Vue 3 中重用现有的 Vuex 代码。


这个版本还包含一些重大更改,详情见后文。


关于 Option 和 Composition API 的基本用法,请参见 example 目录。


新版还是用 NPM 包发布,放在 next 标签下,和 Vue 3 是一样的。我们计划在 Vue 3 拿掉 next 标签后一并移除 Vuex 4 的 next 标签。


社区为 Vuex 4 的稳定版做出了许多贡献,感谢大家的帮助。

文档

要查看文档,请访问Vuex 官网

重大更改

安装流程已更改

为了与新的 Vue 3 初始化流程保持一致,Vuex 的安装流程已更改。


用户要创建新的 store 实例时,推荐使用新引入的 createStore 函数。


import { createStore } from 'vuex'export const store = createStore({  state() {    return {      count: 1    }  }})
复制代码


从技术上来讲这并不是一个重大更改,不过你还是可以使用 newStore(...)语法,我们建议大家用这种方法来和 Vue 3、Vue Router 4 保持一致。


要将 Vuex 安装到 Vue 实例,请传递 store 实例(而不是 Vuex)。


import { createApp } from 'vue'import { store } from './store'import App from './App.vue'const app = createApp(App)app.use(store)app.mount('#app')
复制代码

打包现在与 Vue 3 一致

新版会生成以下包,以同 Vue 3 包一致:


  • vuex.global(.prod).js

  • 在浏览器中直接用于<scriptsrc="...">。全局公开 Vuex。

  • 全局构建是作为 IIFE 而不是 UMD 构建的,并且只能与<scriptsrc="...">直接共用。

  • 包含硬编码的 prod/dev 分支,并且 prod 构建已预先最小化。使用.prod.js 文件用于生产。

  • vuex.esm-browser(.prod).js

  • 用于原生 ES 模块导入(包括通过<script type="module">支持模块的浏览器。)

  • vuex.esm-bundler.js

  • 用于 webpack、rollup 和 parcel 等打包器。

  • 带有 process.env.NODE_ENV 防护的 prod/dev 分支不受影响(必须由打包器代替)。

  • 不提供缩小的构建(打包后与剩余代码一起处理)。

  • vuex.cjs.js

  • 用于带有 require()的 Node.js 服务端渲染。

ComponentCustomProperties 的类型化

Vuex 4 删除了其在 Vue 组件中 this.$store 的全局类型,以解决问题 #994。与 TypeScript 一起使用时,用户必须声明自己的模块扩充。


将以下代码放在你的项目中,以使 this.$store 正确类型化:


// vuex-shim.d.tsimport { ComponentCustomProperties } from 'vue'import { Store } from 'vuex'declare module '@vue/runtime-core' {  // Declare your own store states.  interface State {    count: number  }  interface ComponentCustomProperties {    $store: Store<State>  }}
复制代码

从核心模块导出 createLogger 函数

在 Vuex 3 中,createLogger 函数是从 vuex/dist/logger 导出的,但它现在已包含在核心包中。你应该直接从 vuex 包导入该函数。


import { createLogger } from 'vuex'
复制代码

4.0.0-rc.2 后加入的错误修复

  • 导出缺少的 storeKey(4ab2947)

  • 修复在 Webpack 包中无法摇树的问题(#1906)(#1907)(aeddf7a)


原文链接:


https://github.com/vuejs/vuex/releases

2021 年 2 月 05 日 12:002892

评论

发布
暂无评论
发现更多内容

朋友不讲武德急催我给他Java干货教程,我劝他耗子尾汁并丢给他一份GitHub上标星115k+的Java教程,他看了之后连忙向我道歉!

Java架构之路

Java 程序员 架构 面试 编程语言

看完这份文档我吊打了BATJ面试官,他问的我全都会:Spring+逻辑算法+MySQL+Java+Redis+并发编程+JVM+RabbitMQ等

Java架构之路

Java 程序员 架构 面试 编程语言

Techo | 大数据专场报名盛启!12月20日欢迎莅临!

小小的一朵云

大数据 数据仓库 大数据架构

校园恋爱新技能:智慧琴房恋爱助攻手册

IoT云工坊

物联网 API sdk 智慧琴房 智慧校园

一次资源泄露问题排查纪录

AI乔治

Java 架构 JVM 内存泄漏

2020年第11期公有云性能评测:盛大云-华东实现“三冠”,百度云虎视眈眈

博睿数据

百度云 腾讯云 阿里云 公有云 华为云

ROS 机器人操作系统进阶实战

Geek_3cc3ec

Python 人工智能 学习 ROS

程序员什么时候就该辞职了?

Java架构师迁哥

游戏服务器多钱一个月呢?

德胜网络-阳

红着眼连续肝了一个月淦出的20w字的《Java核心技术总结》和3w字的《面试题总结》PDF文档,希望能够帮到你!

Java成神之路

Java 程序员 架构 面试 编程语言

免费分享!GitHub标星15k的Java编程思想最新中文版,肝了一周整理成1539页的PDF文档!

Java架构之路

Java 程序员 架构 面试 编程语言

升级redhat6的yum源替换为centos源

Bruce Xiong

架构师训练营第 1 期第 13 周作业

好吃不贵

极客大学架构师训练营

图解Janusgraph系列-图数据底层序列化源码分析(Data Serialize)

洋仔聊编程

janusgraph 图数据库

太狠了阿里技术专家撰写的电子版JVM&G1 GC实战,颠覆了传统认知

Java架构之路

Java 程序员 架构 面试 编程语言

synchronized 是王的后宫总管,线程是王妃

Java架构师迁哥

【变与不变】架构中的边界划定

soolaugust

编程 架构 设计

Java 并发编程:volatile能否保证数据的同步

码农架构

Java Java并发

芯片破壁者(二十二):政府与半导体间的“美国往事”

脑极体

图解Janusgraph系列-并发安全:锁机制(本地锁+分布式锁)分析

洋仔聊编程

janusgraph 图数据库

官方活动 | 日更挑战(初阶)——七日更,挑战百元京东E卡!

InfoQ写作平台官方

活动专区 七日更 日更挑战

A Guide for Accidental Project Managers

Geek_ed0696

pmp project manager role of PMP PMP Certification greycampus

云智一体:攀登2021智能经济新山峰

脑极体

架构师训练营第 1 期第 13 周学习总结

好吃不贵

极客大学架构师训练营

万万没想到我也能挤进阿里定级P7,美团架构师总结整理的这份GitHub标星150K+的Java神仙笔记是我成功的关键。

Java成神之路

Java 程序员 架构 面试 编程语言

LeetCode题解:127. 单词接龙,BFS+生成所有可能新单词再匹配,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

9年技术面试官讲解:计算机专业应届生怎样写简历

Java架构师迁哥

又真香了!到底是怎样的JAVA面试文档,拿到这么多offer

Crud的程序员

程序员 架构 java面试

冒着被劝退的风险免费分享给大家一份阿里内部绝密《百亿级并发系统设计》实战教程。

Java成神之路

Java 程序员 架构 面试 编程语言

你确定你会算数吗?老大说:你连这个都不知道还敢面试电商公司?

小Q

Java 学习 编程 程序员 面试

字节跳动总监亲自整理,在知乎高达5716赞的Java开发手记。

Java架构之路

Java 程序员 架构 面试 编程语言

混合云之争的开端与终途

混合云之争的开端与终途

Vuex 4 正式发布:打包现在与 Vue 3 一致-InfoQ