vue-element项目打包后偶尔出现icon乱码,Using / for division is deprecated and will be removed in Dart Sass 2.0.0

一、vue-element项目打包后偶尔出现icon乱码

解决方法

1、npm install css-unicode-loader

2、配置vue.config.js文件


module.exports = {

  css: {
    loaderOptions: {
      sass: {
        sassOptions: {
          outputStyle: 'expanded'
        }
      }
    }
  },
 
  configureWebpack: (config) => {
    // 解决打包后icon乱码  核心部分
    config.module.rules.filter(rule => {
      return rule.test.toString().indexOf("scss") !== -1;
    })
      .forEach(rule => {
        rule.oneOf.forEach(oneOfRule => {
          oneOfRule.use.splice(oneOfRule.use.indexOf(require.resolve('sass-loader')), 0,
            { loader: require.resolve("css-unicode-loader") })
        })
      })
    //配置网页标签页名称
    config.name = '碳排放管理平台'
    // 函数式写法
    const resolve = {
      alias: {
        '@': path.resolve(__dirname, 'src')
      }
    }
    const plugins = []
    //这里要返回一个对象
    return { resolve, plugins };
  },
}

验证方法是否生效

项目打包后找到index.html文件打开,F12查看图标样式是否正常。

乱码的图标样式如下所示

正常图标样式应该如下所示

其他补充

webpack配置可查文档

css:配置参考 | Vue CLI

configureWebpack:配置参考 | Vue CLI

webpack 相关 | Vue CLI

Sass教程 Sass中文文档 | Sass中文网

node-sass代替sass无效

还有一种node-sass 代替sass方法,测试后无效,记录一下安装node-sass后的报错

npm uninstall sass

npm install node-sass@4.14.1

运行后出现以下错误

解决方法: rgb(250 250 250)改成rgb(250,250,250)

解决方法:找打对应的文件,将math.div(a,b)改成 a/b 的写法

// $--group-option-flex: 0 0 math.div(1, 5) * 100% !default;
$--group-option-flex: 0 0 1/5 * 100% !default;

二、DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.报错

sass中文网站:Sass: sass:math | Sass 中文网

 sass  1.33.0的版本使用的是math.div;低版本1.32.6使用的是/写法;

解决方法

1、使用高版本的1.33.0以上版本,可参考该博主的https://www.jianshu.com/p/7b0c80cefbc9

2、重新安装低版本的sass,1.32.6版本的即可

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值