使用css-module防止组件重名污染

typescritp中,配置css-module

  • 第一步:配置d.ts
  • index.d.ts
declare module '*.less'

因为要把less当作模块引入,而ts检查,外部模块必须申明


  • 第二步: 配置webpack.dev.config.js
 {
    test: /\.less$/,
    use: [
        'style-loader',
        {
            loader: 'css-loader',
            // 下面配置使用css-module
            options: {
                importLoaders:1,
                modules: true,
                localIdentName: '[name]__[local]___[hash:base64:5]'
            }
        },
        {
            loader: 'less-loader',
            options: {
                javascriptEnabled: true,
                globalVars: {
                    'testcolor': 'red',    // ten可以是ten,也可以是@ten,效果一样,下同
                },
                modifyVars: {
                    'primary-color': '#1DA57A'
                    }
            }
        },
        {
            loader: 'style-resources-loader',
            options: {
                patterns: path.resolve(__dirname,'../src/pages/count/global.less')
            }
        }
    ]
},


  • 第三步:使用方式
import Style from './mermaid.less';

<h1 className={Style.test}>test</h1>

// 编译过后如下:
<h1 className={'mermaid__test___rFS9-'}>test</h1>

这样就可以防止变量重名污染

  • mermadi.less
@grey-border-radius :{
    border: 1px solid red;
    border-radius: 2px;
};
.test{
    color:red;
    @grey-border-radius();
}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值