chunk chunk-commons [mini-css-extract-plugin]解决方案

430 阅读1分钟

问题描述

vue2.0项目,在执行yarn build打包的时候,控制台报错:

  • warning
  • chunk chunk-commons [mini-css-extract-plugin]
  • Conflicting order. Following module has been added:
  • 这里是错误相关的.vue文件

原因分析

vue在生产环境会开启mini-css-extract-plugin插件,当css引入顺序不一致(例如vue组件的引入顺序)就会报出该警告。

解决方案

在vue.config.js文件中加入对css相应配置

module.exports = defineConfig({
    // 其它配置...,
    css: {
        extract: {
          ignoreOrder: true
        }
    }
})

常见问题 Q:在配置好后,之前加的样式不生效了,

<div class="login-form">
    <el-button round :loading="loading" @click="handleLogin" class="submit-btn" :disabled="loading">登录</>
</div>

css部分

<style lang="scss" scoped>
.submit-btn {
    width: 100%;
    height: 40px;
    font-size: 18px;
    background: #000;
    color: #fff;
    border: 0;
 }
</style>

这时,.submit-btn的样式没有生效,因为mini-css-extract-plugin把样式抽离出来了,这时.submit-btn的样式权重没有.el-button高,所以显示的是.el-button的样式,只需要提高.submit-btn样式的权重即可:

<style lang="scss" scoped>
.login-form {
    .submit-btn {
        width: 100%;
        height: 40px;
        font-size: 18px;
        background: #000;
        color: #fff;
        border: 0;
     }
}