美文网首页
element-plus 更换主题色 SassError: @f

element-plus 更换主题色 SassError: @f

作者: cesiuming | 来源:发表于2021-12-09 17:57 被阅读0次

    element-plus 更换主题色报错问题

    新建文件 /style/element/index.scss

    // style/element/index.scss
    @forward 'element-plus/theme-chalk/src/common/var.scss' with (
      $colors: (
        'primary': (
          'base': #3F66D4,
        ),
      )
    );
    
    // 如果你想导入所有样式:
    @use "element-plus/theme-chalk/src/index.scss" as *;
    

    刚开始按照element-plus官网描述步骤添加,在main.js中引入创建的文件,

    import { createApp } from 'vue'
    import './assets/style/element/index.scss' // 这里引入
    import ElementPlus from 'element-plus'
    import 'element-plus/dist/index.css'
    import App from './App.vue'
    
    const app = createApp(App)
    app.use(ElementPlus)
    app.mount('#app')
    

    但是会有报错信息,如下:

    ./src/assets/style/element/index.scss (./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-3-1!./node_modules/postcss-loader/src??ref--9-oneOf-3-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-3-3!./node_modules/style-resources-loader/lib??ref--9-oneOf-3-4!./src/assets/style/element/index.scss)
    Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
    SassError: @forward rules must be written before any other rules.
       ╷
    21 │ ┌ @forward 'element-plus/theme-chalk/src/common/var.scss' with (
    22 │ │   $colors: (
    23 │ │     'primary': (
    24 │ │       'base': #3F66D4,
    25 │ │     ),
    26 │ │   )
    27 │ │ );
       │ └─^
    

    @forward rules must be written before any other rules. 必须写在任何其他规则之前?

    解决方案:
    在项目vue.config.js配置文件中修改,解决sass变量报错问题

    module.exports = {
      css: {
        loaderOptions: {
          sass: {
            prependData: '@use "@/assets/style/element/index.scss" as *;'
          }
        }
      }
    }
    

    main.js中引入的文件可以删除了。

    相关文章

      网友评论

          本文标题:element-plus 更换主题色 SassError: @f

          本文链接:https://www.haomeiwen.com/subject/mpgffrtx.html