zoukankan      html  css  js  c++  java
  • umi 样式隔离

    前言

    在使用umi日常开发项目,有时候样式之间会有污染,需要在class增加一个className来区分

    具体内容

    const PrefixWrap = require("postcss-prefixwrap");
    
    const rootId = 'xxx'
    
    export default {
    ...
    cssLoaderOptions: {
        modules: true,
        getLocalIdent: (context, localIdentName, localName) => {
          if (
            context.resourcePath.includes('node_modules') ||
            context.resourcePath.includes('ant.design.pro.less') ||
            context.resourcePath.includes('global.less')
          ) {
            return localName;
          }
          else if (localName === rootId) {
            return localName
          }
          const match = context.resourcePath.match(/src(.*)/);
          if (match && match[1]) {
            const antdProPath = match[1].replace('.less', '');
            const arr = slash(antdProPath)
              .split('/')
              .map(a => a.replace(/([A-Z])/g, '-$1'))
              .map(a => a.toLowerCase());
            return `antd-pro${arr.join('-')}-${localName}`.replace(/--/g, '-');
          }
          return localName;
        },
      },
    extraPostCSSPlugins: [PrefixWrap(`#${rootId}`, {
        ignoredSelectors: ["html", "body", `#${rootId}`],
      })],
    ...
    }

      

    这样一来,样式之间就隔离开了

  • 相关阅读:
    1112评论
    1029 C语言文法
    0909编译原理理解和解释
    复利计算4.0-单元测试
    命令解析程序的编写
    《构建之法》1、2、3章思考与感想
    复利计算4.0
    实验三的分析与总结
    复利计算(更新)
    单、复利计算程序
  • 原文地址:https://www.cnblogs.com/cczlovexw/p/15331501.html
Copyright © 2011-2022 走看看