vue打包时报错 error in static/css/element-ui.76904551.css Cannot read properties of undefined (reading 'pop')
时间: 2023-11-26 18:03:06 浏览: 73
Vue打包Cannot read property 'tapPromise' of undefined报错处理.docx
5星 · 资源好评率100%
这个错误通常是因为在使用`purgeCSS`或者`cssnano`等CSS压缩工具时,未正确配置白名单,导致压缩了`element-ui`的CSS文件,造成了错误。
解决方法如下:
1. 在`vue.config.js`中添加如下配置:
```javascript
const TerserPlugin = require('terser-webpack-plugin')
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin')
const whitelist = require('purgecss-whitelister')([
// 这里列出需要保留的CSS类名等信息
// 例如:'el-row', 'el-col', 'el-checkbox'
])
module.exports = {
// ...其他配置...
configureWebpack: {
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
compress: {
drop_console: true
}
}
}),
new OptimizeCSSAssetsPlugin({
cssProcessorOptions: {
map: {
inline: false,
annotation: true
},
autoprefixer: { disable: true },
safe: true,
discardComments: {
removeAll: true
}
},
cssProcessorPluginOptions: {
preset: ['default', { discardComments: { removeAll: true } }],
},
}),
],
},
},
purgeCSS: {
whitelist: whitelist,
},
}
```
2. 在白名单`whitelist`中添加需要保留的CSS类名。常见的`element-ui`的类名可以在这里找到:https://element.eleme.cn/#/zh-CN/component/layout
希望这个方法能够解决你的问题。
阅读全文