在我的 create-react-app 应用程序中,我使用 Tailiwnd CSS 进行样式设置。不幸的是,在运行 npm run build 后,css 文件大小约为 1.4mb,这太大了。查看该构建文件后,我可以看到所有未使用的类仍然存在,
以下是 package.json 中的脚本:
"scripts": {
"build:css": "postcss src/tailwind.css -o src/tailwind.generated.css",
"watch:css": "postcss src/tailwind.css -o src/tailwind.generated.css --watch",
"env:dev": "cross-env NODE_ENV=development",
"env:prod": "cross-env NODE_ENV=production",
"react-scripts:start": "sleep 5 && react-scripts start",
"react-scripts:build": "react-scripts build",
"start": "run-p env:dev watch:css react-scripts:start",
"build": "run-s env:prod build:css react-scripts:build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
为了缩小构建 css 文件的大小,我使用 Purge CSS 和以下 postcss.config.js:
const purgecss = require('@fullhuman/postcss-purgecss')({
content: ['./public/**/*.html'],
defaultExtractor: content => content.match(/[A-Za-z0-9-_:/]+/g) || []
});
module.exports = {
plugins: [
require('tailwindcss'),
require('autoprefixer'),
// Purge and minify CSS only production builds only
...(process.env.NODE_ENV === 'production'
? [purgecss, require('cssnano')]
: [])
]
};
这是tailiwnd.config.js:
module.exports = {
purge: [
'./src/**/*.html',
'./src/**/*.vue',
'./src/**/*.jsx',
'./src/**/*.js'
],
theme: {
extend: {
height: {
'72': '18rem',
'80': '20rem',
'88': '22rem',
'96': '24rem',
'104': '26rem'
},
fontFamily: {
display: 'Raleway, sans-serif'
}
}
},
variants: {},
plugins: []
};
我所有的 javascript 文件都在 ./src 文件夹中。你知道为什么 CSS 构建文件仍然那么大吗?我只使用了 Tailiwnd 的几个类,应用程序本身非常简单和小,
谢谢!