Skip to content

Commit df271f2

Browse files
committed
build: optimize config of tailwindcss
1 parent 19a1661 commit df271f2

File tree

1 file changed

+51
-2
lines changed

1 file changed

+51
-2
lines changed

packages/@vuepress-reco/tailwindcss-config/src/node/tailwindcssConfig.ts

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,60 @@
11
import { colors } from './custom-colors.js'
22

3+
// 判断当前环境是否为开发环境
4+
const isDevelopment = process.env.NODE_ENV === 'development'
5+
6+
// 导出根据环境变量生成的配置
37
export const tailwindcssConfig = {
48
darkMode: 'class',
9+
// 更精确的文件匹配模式以减少处理文件数量
510
content: [
6-
'node_modules/**/vuepress-theme-reco/lib/**/*.(vue|html)',
7-
'node_modules/**/@vuepress-reco/**/lib/**/*.(vue|html)',
11+
// 只包含具体组件文件夹和布局相关文件
12+
'node_modules/**/vuepress-theme-reco/lib/client/components/**/*.(vue|html)',
13+
'node_modules/**/vuepress-theme-reco/lib/client/layouts/**/*.(vue|html)',
14+
// 特定插件的关键组件
15+
'node_modules/**/@vuepress-reco/**/lib/client/components/**/*.(vue|html)',
816
],
17+
// 开发环境优化
18+
safelist: [],
19+
// 启用JIT模式
20+
mode: 'jit',
21+
// 启用裁剪模式,只生成实际使用的类
22+
purge: {
23+
enabled: true, // 在开发和生产环境中都启用
24+
content: isDevelopment ? [
25+
// 开发环境:更严格的匹配,只关注关键组件
26+
'node_modules/**/vuepress-theme-reco/lib/client/components/**/*.(vue|html)',
27+
'node_modules/**/vuepress-theme-reco/lib/client/layouts/**/*.(vue|html)',
28+
'node_modules/**/@vuepress-reco/**/lib/client/components/**/*.(vue|html)',
29+
] : [
30+
// 生产环境:包含所有可能的文件
31+
'node_modules/**/vuepress-theme-reco/lib/**/*.(vue|html)',
32+
'node_modules/**/@vuepress-reco/**/lib/**/*.(vue|html)',
33+
],
34+
},
35+
// 禁用状态变体,减少生成的CSS数量
36+
corePlugins: isDevelopment ? {
37+
// 开发环境中禁用部分变体样式以提高性能
38+
preflight: false, // 禁用默认样式重置
39+
groupHover: false, // 禁用组悬停效果
40+
focus: false, // 禁用聚焦效果
41+
focusVisible: false, // 禁用可见聚焦效果
42+
active: false, // 禁用活动状态效果
43+
disabled: false, // 禁用禁用状态效果
44+
visited: false, // 禁用已访问状态效果
45+
firstChild: false, // 禁用第一子元素选择器
46+
lastChild: false, // 禁用最后子元素选择器
47+
odd: false, // 禁用奇数行选择器
48+
even: false, // 禁用偶数行选择器
49+
} : {
50+
// 生产环境保持全部功能
51+
},
52+
// 禁用不需要的功能,减少生成的CSS
53+
// 根据实际需求可以添加或删除
54+
future: {
55+
removeDeprecatedGapUtilities: true,
56+
purgeLayersByDefault: true,
57+
},
958
theme: {
1059
extend: {
1160
backgroundOpacity: {

0 commit comments

Comments
 (0)