使用 `tailwindcss-patch@2` 来提取你的类名吧

news2024/12/23 16:31:50

Image

使用 tailwindcss-patch@2 来提取你的类名吧

  • 使用 tailwindcss-patch@2 来提取你的类名吧
    • 安装
    • 使用方式
      • 命令行 Cli
        • 开始提取吧
      • Nodejs API 的方式来使用
    • 配置
      • 初始化
    • What’s next?

tailwindcss-patch 是一个 tailwindcss 生态的扩展项目。也是 tailwindcss-mangle 项目重要的组成部分。

最近我发布了 tailwindcss-patch2.x 版本,主要添加了一个配置文件读取和工具类名提取额功能。

让我们来看看怎么使用它吧。

安装

选择你喜欢的包管理器

<yarn|npm|pnpm> add -D tailwindcss-patch
  1. tailwindcss 打补丁
npx tw-patch install
  1. npmprepare hook 里加入指令

package.json

{
  /* ... */
  "scripts": {
    "prepare": "tw-patch install"
  }
}

使用方式

命令行 Cli

开始提取吧

npx tw-patch extract

默认情况下,执行成功后会有一个 json 文件 .tw-patch/tw-class-list.json 在你的项目中出现。

当然,你可以通过配置文件 tailwindcss-mangle.config.ts 来自定义这个行为。

Nodejs API 的方式来使用

import { TailwindcssPatcher } from 'tailwindcss-patch'

const twPatcher = new TailwindcssPatcher(/* options */)
// do patch
twPatcher.patch()
// get all contexts at runtime
twPatcher.getContexts()
// get all class generated by tailwindcss utilities
twPatcher.getClassSet()

配置

初始化

npx tw-patch init

这样在你的当前的 cwd 中就会出现一个 tailwindcss-mangle.config.ts 文件:

import { defineConfig } from 'tailwindcss-patch'

export default defineConfig({})

你可以通过 patch 字段来自定义它的行为:

import { defineConfig } from 'tailwindcss-patch'

export default defineConfig({
  patch: {
    output: {
      filename: 'xxx.json',
      loose: true,
      removeUniversalSelector: true
    },
    tailwindcss: {
      config: 'path/to/your-tailwind.config.js',
      cwd: 'project/cwd'
    }
  }
})

What’s next?

目前我只是提取了所有的工具类,实际上可以获取 tailwindcss 的上下文进行分析。你可以给我提 issue 或者 pr 的方式,来为这个项目添加更多的功能,

当然,提取之后这个 json 当然也不是只是给你看看的。你可以对它进行一些分析,而我是把它作为我 tailwindcss-mangle 的数据文件来使用的。

tailwindcss-mangle 本身是一个混淆工具,用来混淆 tailwindcss 生成的工具类,具体的使用方式就看下篇文章吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/882660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高等数学教材重难点题型总结(二)导数与微分

本章重点题目较少&#xff0c;除了*标题页没什么特别难的&#xff0c;本帖出于总结性的角度考虑并未囊概全部的*标&#xff0c;最后会出一期*标题的全部内容整理&#xff0c;在攻克重难点的基础上更上一层楼。 1.根据定义求某点处的导数值 2.通过定义证明导数 3.左右导数的相关…

QT使用QML实现地图绘制虚线

QML提供了MapPolyline用于在地图上绘制线段&#xff0c;该线段是实线&#xff0c;因此我使用Canvas自定义绘制的方式在地图上绘制线段&#xff0c;如图&#xff1a; 鼠标在地图上点击后&#xff0c;在点击位置添加图标 &#xff0c;当有多个图标被添加到地图上后&#xff0c;计…

openGauss学习笔记-40 openGauss 高级数据管理-锁

文章目录 openGauss学习笔记-40 openGauss 高级数据管理-锁40.1 语法格式40.2 参数说明40.3 示例 openGauss学习笔记-40 openGauss 高级数据管理-锁 如果需要保持数据库数据的一致性&#xff0c;可以使用LOCK TABLE来阻止其他用户修改表。 例如&#xff0c;一个应用需要保证表…

MTK Android非常用分辨率修改充电动画

非标准分辨率的屏,配置MTK Android的关机充电动画. 环境 芯片 MTK 系统 Android 服务器 ubuntu 屏幕分辨率356*400,不是常见的分辨率. 原始充电动画显示异常,画面扭曲. 方法 确定使用的图片 vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo 这个目录下…

05-基础入门-系统及数据库等

基础入门-系统及数据库等 一、操作系统层面1、识别操作系统常见方法2、简要两者区别及识别意义3、操作系统层面漏洞类型对应意义4、简要操作系统层面漏洞影响范围 二、数据库层面1、识别数据库类型常见方法2、数据库类型区别及识别意义3、数据库常见漏洞类型及攻击4、简要数据库…

【【STM32之GPIO】】

STM32之GPIO 学完了正点原子自带的视频课之后感觉仍然一知半解现在更新一下来自其他版本的STM32学习 GPIO 就是 General Purpose Input Output 中文名叫通用输入输出口 可配置8种输入输出模式 引脚电平 0V~3.3V 部分引脚可容忍5V 输出模式下可控制端口输出高低电平&#xff…

MongoDB增删改查操作

数据库操作&#xff1a; 在MongoDB中&#xff0c;文档集合存在数据库中。 要选择使用的数据库&#xff0c;请在mongo shell程序中发出 use <db> 语句 // 查看有哪些数据库 show dbs;// 如果数据库不存在&#xff0c;则创建并切换到该数据库&#xff0c;存在则直接切换到…

CS5263 DP转HDMI 4k@60Hz转接线方案,替代IT6563 PS176方案

集睿致远/ASL推出的CS5263是一款DP转HDMI 2.0音视频转换芯片&#xff0c;主要用于设计DP转HDMI2.0音视频转换器或者DP转HDMI 4K60Hz音视频转接线等产品种适用于需要视频协议转换的电缆适配器、电视接收器、监视器和其他应用。 CS5263参数 DisplayPort输入&#xff08;接收器&a…

电脑如何快速查看系统中的驱动是否安装

第一步&#xff1a;winR 打开运行命令窗口 第二步输入&#xff1a;在打开输入框中输入driverquery&#xff0c;点击确定或按下回车键&#xff0c;命令行页面列出本机相关驱动信息。 1、driverquery 驱动查询 2、driverquery /V 驱动程序查询/ V

在 React+Typescript 项目环境中创建并使用组件

上文 ReactTypescript清理项目环境 我们将自己创建的项目环境 好好清理了一下 下面 我们来看组件的创建 组件化在这种数据响应式开发中肯定是非常重要的。 我们现在src下创建一个文件夹 叫 components 就用他专门来处理组件业务 然后 我们在下面创建一个 hello.tsx 注意 是t…

多智能体共识算法的粗略数学证明

这篇文章是对论文《Consensus and Cooperation in Networked Multi-Agent Systems》中定理一的粗略数学证明。 论文中的定理一&#xff1a; 对一个由 n 个智能体以拓扑结构 G 组成的网络&#xff0c;使用以下共识算法&#xff1a; x ˙ i ( t ) Σ j ∈ N i a i j ( x j ( t…

客户标签如何分类?

客户标签分为8大类标签 &#x1f449;客户画像类标签记录客户的基础信息&#xff01; &#x1f449;客户来源类标签记录获客途径及渠道效果&#xff01; &#x1f449;客户状态类标签描述客户的全生命周期&#xff01; &#x1f449;客户跟进类标签记录与客户链接以后的情况&am…

VVIC-商品详情

一、接口参数说明&#xff1a; item_get-根据ID取商品详情&#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/vvic/item_get 名称类型必须描述keyString是调用key&#xff08;点击获取测试k…

微信小程序真机调试异常cmdId 1006, errCode-50011-已解决

cmdId 1006, errCode-50011 起因 小程序在模拟器上预览没问题,真机调试和体验版首页打不开,点展开显示cmdId 1006, errCode-50011 解决 查了下1006, 说是广告, 我没接广告,这个也不是错误码 1006广告组件被驳回你的广告正在被审核,无法展现广告后来找到几个类似的帖子…

Win10共享打印机所需要的设置(无需密码访问实现打印机共享)

为什么win10电脑已经将打印机设置为共享&#xff0c;其他朋友还是无法连接到Win10电脑共享的打印机呢&#xff0c;一般都是因为直接连接打印机的win10设置有问题。这种情况很多&#xff0c;下面的方案基本都能解决&#xff0c;本人多次亲测&#xff0c;全部成功。具体设置方法如…

【腾讯云 Cloud Studio 实战训练营】使用云IDEA,快速构建React完成点餐H5页面

文章目录 前言简介优势项目介绍 实战教学注册流程创建工作空间环境配置安装 antd-mobile安装 less 和 less-loader暴露 webpack 配置文件修改 config/webpack.config.js 文件安装 normalize 上传项目素材替换App.js主文件创建 index.less 文件 启动项目清理实验先停止项目再删除…

前后端分离------后端创建笔记(08)表单提交

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论&#xff0c;如有侵权请联系 源码&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…

面试之快速学习STL- vector

1. vector底层实现机制刨析&#xff1a; 简述&#xff1a;使用三个迭代器表示的&#xff1a; &#xfffc; 这也就解释了&#xff0c;为什么 vector 容器在进行扩容后&#xff0c;与其相关的指针、引用以及迭代器可能会失效的原因。 insert 整体向后移 erase 整体向前移…

pytest自动生成测试类 demo

一、 pytest自动生成测试类 demo # -*- coding:utf-8 -*- # Author: 喵酱 # time: 2023 - 08 -15 # File: test4.py # desc: import pytest import unittest# 动态生成测试类def create_test_class(class_name:str, test_cases:list) -> type:"""生成测试类…

未能为数据库对象分配空间,因为文件组primary已满

今天正式环境突发需要这种情况 原因&#xff1a;数据库磁盘已满 解决方式&#xff1a;清理掉占用磁盘空间大的表&#xff0c;清理无效的历史备份文件。