从 v1 升级到 v2
重大变更
tailwind-merge 现在是一个可选的对等依赖项
在 v2 版本中,我们已将 tailwind-merge 设为一个可选的对等依赖项,以减小那些不需要 Tailwind CSS 冲突解决功能的用户所使用的捆绑包大小。
发生了什么变化?
tailwind-merge不再与tailwind-variants捆绑在一起。- 需要冲突解决功能的用户必须单独安装它。
- 不需要冲突解决功能的用户可以节省大约 ~3KB 的捆绑包大小。
迁移步骤
如果您使用默认配置 twMerge: true(启用冲突解决):
# npm
npm install tailwind-merge
# yarn
yarn add tailwind-merge
# pnpm
pnpm add tailwind-merge
如果您不需要冲突解决功能,请在您的配置中禁用它:
const button = tv(
{
base: "px-4 py-2 rounded",
variants: {
color: {
primary: "bg-blue-500 text-white",
secondary: "bg-gray-500 text-white",
},
},
},
{
twMerge: false, // 禁用冲突解决
},
);
性能改进
v2 版本还包括显著的性能优化:
- 大多数操作速度提升 37-62%。
- 优化了对象创建和数组操作。
- 减少了函数调用开销。
- 更好的内存使用。
所有现有 API 保持不变,因此除了安装 tailwind-merge 之外,无需进行任何代码更改。