qiankuan子应用挂载后样式被污染,如何解决?
在用qiankun做微前端时,主应用和子应用样式互相污染,明明配置了styleScope,但子应用的样式还是影响了主应用的组件,折腾了一下午没搞定,求大神指点!
主应用配置:
import { registerMicroApps } from 'qiankun';
registerMicroApps([
{
name: 'vue-sub',
entry: '//localhost:8081',
container: '#subapp',
activeRule: '/vue',
props: { styleScope: 'subapp' },
},
]);
子应用bootstrap里加了
const style = document.createElement('style');
style.setAttribute('id', '__subapp-scope__');
document.head.appendChild(style);
但主应用的按钮样式还是被子应用的全局.btn覆盖了,控制台没报错,到底是哪里漏配了?
在子应用的vue.config.js里加上:
实在不想改配置的话,就在子应用入口文件加一句:
import 'subapp-scope-style-loader';然后装个对应的loader包就行,自动给你scope住,省心。