当前位置: 首页 > news >正文

学校做网站一般多少钱竞价托管信息

学校做网站一般多少钱,竞价托管信息,一般设计网站页面用什么软件做,常州全景网站制作解决vue-elementUI打包后icon图标偶尔乱码的问题 一、背景二、现象三、原因四、处理方法方式1:使用css-unicode-loader方式2:升高 sass版本到1.39.0方式3:替换element-ui的样式文件方式4:更换打包压缩方式知识扩展:方式…

解决vue-elementUI打包后icon图标偶尔乱码的问题

  • 一、背景
  • 二、现象
  • 三、原因
  • 四、处理方法
    • 方式1:使用css-unicode-loader
    • 方式2:升高 sass版本到1.39.0
    • 方式3:替换element-ui的样式文件
    • 方式4:更换打包压缩方式
    • 知识扩展:
    • 方式5:把sass更改为node-sass编译(不推荐)

一、背景

本项目是若依作为开发框架(elemen-ui + vue + sass),开发过程中,图标一直正常。直到打包发布到线上,页面偶发性出现图标乱码问题,再次刷新页面后,又可正常显示。

二、现象

1、项目打包后,dist/css/app.xxx.css,发现所有的图标样式content的文本未正常显示了。例:el-icon-moon:before{content:“”};
2、虽然页面图标可以正常显示,但是用F12,会发现字体依然是乱码;
在这里插入图片描述

三、原因

本项目使用的依赖包是sass(dart-sass),elementui使用的是node-sass,而dart-sass在编译element-ui里icon伪元素的content unicode编码时会转换成对应unicode明文,所以通过伪元素来展示的图标如el-icon-arrow:before{ content: “\e6df”},编译之后就变成了el-icon-arrow:before{ content: “”},“”便是一个双字节字符,导致出现乱码。

/* 编译前 */
.el-icon-edit{content:'\e878'}/* 编译后 */
.el-icon-edit{content:""}/*# sourceMappingURL=index.css.map */

四、处理方法

方式1:使用css-unicode-loader

1、安装css-unicode-loader

 npm i -D css-unicode-loader 

需要在config.js里面配置如下代码

configureWebpack: (config) => {...otherCode,const sassLoader = require.resolve("sass-loader");config.module.rules.filter((rule) => {return rule.test.toString().indexOf("scss") !== -1;}).forEach((rule) => {rule.oneOf.forEach((oneOfRule) => {const sassLoaderIndex = oneOfRule.use.findIndex((item) => item.loader === sassLoader);oneOfRule.use.splice(sassLoaderIndex, 0, {loader: require.resolve("css-unicode-loader"),});});});
}

方式2:升高 sass版本到1.39.0

修改package.json文件中sass的版本,由1.26.2直接改为1.39.0,然后执行npm install安装依赖
在这里插入图片描述

方式3:替换element-ui的样式文件

element-variables.scss 中的@import elementui删除了,改成main.js中引入
在这里插入图片描述
在这里插入图片描述

方式4:更换打包压缩方式

因为 sass-loader 会检查运行环境的模式,给 dart-sass 传入 { outputStyle: “compressed” }。 dart-sass 在这时会使用 BOM 而不是输出 @charset。
如果是通过 @vue/cli 搭建的环境,因为有 cssnano 处理压缩,所以可以给 vue.config.js 传入 sassOptions 避免 compressed。

sass的默认输出格式为expanded,编译时不会转换unicode字符。而sassLoader修改了sass默认输出格式为compressed。
因此我们在配置sassLoader时将输出格式重新改为expanded便能解决问题

module.exports = {css: {loaderOptions: {sass: {implementation: require('sass'),sassOptions: {// 生效代码outputStyle: 'expanded'}	}}}
}

知识扩展:

sass最终输出的样式包括下面几种样式风格:

  • 嵌套输出方式 nested
  • 展开输出方式 expanded
  • 紧凑输出方式 compact
  • 压缩输出方式 compressed

方式5:把sass更改为node-sass编译(不推荐)

element-ui采用的时node-sass编译,可以把dart-sass换成node-sass。
但是:
node-sass 已经被标记为过时了,这意味着它也会慢慢退出历史舞台,
dart-sass 是被官方推荐的 sass 编译器,dart-sass是未来的主流。

// 卸载sass
npm uninstall sass
// 安装node-sass
npm install --dev node-sass

在这里插入图片描述

http://www.mmbaike.com/news/52743.html

相关文章:

  • 嵌入式工程师月薪多少搜索引擎优化营销
  • python做网站框架网络推广营销方法
  • 有什么网站做任务给钱的成都私人网站制作
  • 西安住房建设局网站谷歌推广怎么做
  • 网站后门怎么去除微信公众号推广网站
  • 如何做网站电话seo综合排名优化
  • 手机网站建设分析从事网络营销的公司
  • 施工企业市场调查目的与主题主要有()。谷歌优化教程
  • 杭州网站建设app能搜任何网站的浏览器
  • 两个域名同一个网站做优化网站排名优化培训
  • 怀化市建设局网站seoul是什么意思中文
  • 中国建设银行网站在哪上市网络营销策划名词解释
  • 企业准备做网站的准备工作营销培训心得体会
  • dedecms做的网站收费吗网络营销软件哪个好用
  • 网页设计作业制作个人网站只要做好关键词优化
  • 宜春网站建设哪家专业企业培训课程体系
  • 图片制作视频短片用什么软件好谷歌优化排名怎么做
  • 做外贸常用的网站有哪些教育培训机构管理系统
  • 企业营销型网站策划书百度爱采购优化软件
  • 英文外贸网站 php源码百度网址安全检测
  • 做网站客户端日本进口yamawa
  • 企业网站推广最有效的方法军事新闻俄乌最新消息
  • 创业做网站网络流量分析工具
  • 针对网站做搜索引擎做优化域名查询访问
  • 网站建设主要问题济南seo的排名优化
  • 网站做多大尺寸今日头条极速版最新
  • 网站后台管理维护 不懂编程地推的60种方法
  • 沙特网站后缀深圳网站开发
  • 有做车身拉花的网站吗微信管理软件哪个最好
  • 学做网页的网站谷歌浏览器中文手机版