产生背景

  1. 基座应用采用vue2、element-ui
  2. 子应用采用vue3、element-plus
    因为element-ui和element-plus前缀相同、命名规则相同,但内部html结构发生变化,从而导致子应用element-plus的样式会被污染。

解决方案

  1. 笔者之前也有写过使用post-css的解决方案,但还存在未解决的问题,有兴趣的同学可以去看一下,乾坤父子样式隔离解决方案——postcss浅尝
  2. 写一个webpack loader替换element-ui class前缀,写一个postcss plugin替换样式前缀,可以算得上是终极方案了,具体使用可以看相应文档。

效果图

在这里插入图片描述
在这里插入图片描述

github demo

github demo地址

Logo

前往低代码交流专区

更多推荐