Element-UI更改命名空间

目录

第一种情况:webpack配置

1.安装依赖:

2.webpack.base.conf.js文件修改

3.根目录下添加postcss.config.js,文件​编辑文件代码:

4.样式文件目录添加postcss.config.js文件​编辑

5.根据需要,做样式前缀替换的目录下都要添加postcss.config.js文件

第二种情况:vue-cli配置

1.安装依赖

2.vue.config.js文件修改,组件上类名替换命名空间

3.在根目录下创建postcss.config.js文件


第一种情况:webpack配置

1.安装依赖:

"postcss-change-css-prefix": "^1.0.4",

"postcss-loader": "^3.0.0",

"change-prefix-loader": "^1.0.5",

2.webpack.base.conf.js文件修改

rules添加如下代码:

/
{
  test: /\.js$/,
  loader: 'change-prefix-loader',
  include: path.resolve(__dirname, '../node_modules/element-ui/lib'),
 // include: [resolve('node_modules/element-ui/lib')],
  options: {
    replace: 'aa-' // aa-替换el-
  }
},
{
  test: /\.(css|scss)$/i,
  include: [resolve('@/styles')], //样式文件位置 resolve('node_modules/element-ui/packages/theme-chalk/src')
  use: [
    'style-loader',
    'css-loader',
    'postcss-loader',
    'scss-loader',
  ],
},
//
  1. 3.根目录下添加postcss.config.js,文件文件代码:

    const addCssPrefix = require('postcss-change-css-prefix')
    module.exports = {
      plugins: [
        addCssPrefix({
          prefix: 'el-',
          replace: 'aa-'
        })
      ]
    }

    4.样式文件目录添加postcss.config.js文件

  2. 5.根据需要,做样式前缀替换的目录下都要添加postcss.config.js文件

    示例:

排查问题:postcss-change-css-prefix插件中依赖的postcss版本(7.0.39)与webpack(3.10.0)版本对应

第二种情况:vue-cli配置

1.安装依赖

"change-prefix-loader": "^1.0.5",

"postcss-change-css-prefix": "^1.0.4",

2.vue.config.js文件修改,组件上类名替换命名空间

chainWebpack: config => {
    config.module
        .rule('change-prefix')
        .test(/\.js$/)
        .include.add(path.resolve(__dirname, './node_modules/element-ui/lib'))
        .end()
        .use('change-prefix')
        .loader('change-prefix-loader')
        .options({
          prefix: 'el-',
          replace: 'gp-'
        })
        .end()
},

3.在根目录下创建postcss.config.js文件

文件内容如下:

const addCssPrefix = require('postcss-change-css-prefix')
module.exports = {
  plugins: [
    addCssPrefix({
      prefix: 'el-',
      replace: 'gp-',
    }),
  ],
}

.scss样式文件引用

/* 改变 icon 字体路径变量,必需 */

$--font-path: '~element-ui/lib/theme-chalk/fonts';

@import "~element-ui/packages/theme-chalk/src/index";

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当使用element-ui时,如果在某个页面中想要覆盖它的样式,但又不能使用scoped,可以通过在父级元素上添加一个类来命名空间解决冲突。例如,在一个页面的样式中,可以这样写: .aritle-page{ .el-tag { margin-right: 0px; } } 这样就可以只覆盖当前页面的element样式,而不影响其他页面的样式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [element-ui样式不能被修改?修改element样式问题](https://blog.csdn.net/dcxia89/article/details/80402490)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Vue局部引入Element-UI,解决UI冲突](https://blog.csdn.net/weixin_55626351/article/details/120516232)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [完美解决Vue文本编辑器 vue-quill-editor 和 element-ui 样式冲突造成的小图标样式错乱](https://blog.csdn.net/qq_27295403/article/details/96482198)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值