本文目录

webstorm sass 编译中文出现 sass no such files in scope

🌙
手机阅读
本文目录结构

sass 编译中文出现 sass no such files in scope 或者 sass Invalid GBK character xE5 的解决办法

webstorm 基于 ruby 环境 sass 编译中文出现 sass no such files in scope 或者 sass Invalid GBK character “\xE5"的解决办法

第一个问题场景:webstorm 基于 ruby 环境 sass 编译中文出现 sass no such files in scope

这个时候你需要三部来走;

1、先检查当前的环境是否有问题;检测 ruby gem scss 都是否正常;

如果不正常请安装,如果正常,请进行第二步;

2、把原来的 wacth 任务删除掉,重新添加;(请注意把原来的任务删除掉,再新建一个 SCSS 任务)

注意:大部分的问题是出现在这一步的,可能您以前配过任务是正常的,突然有一天莫名其妙的不工作了,你需要把任务删除掉,新建一份 SCSS;

对照下上图,上图是默认的配置;我没有做任何修改,如果你需要编译的路径修改,请 google 自行修改;

3、编写 scass,然后保存(webstom 会自动进行编译,因为你设置了 watch 任务啊)

比如我要编译下面的代码

/* 字体文件 */
@mixin font-face($file) {
  /* IE9*/
  src: url('http://at.alicdn.com/t/#{$file}.eot');
  /* IE6-IE8 */
  src: url('http://at.alicdn.com/t/#{$file}.eot?#iefix') format('embedded-opentype'),
  /* chrome、firefox */
  url('http://at.alicdn.com/t/#{$file}.woff') format('woff'),
  /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
  url('http://at.alicdn.com/t/#{$file}.ttf') format('truetype'),
  /* iOS 4.1- */
  url('http://at.alicdn.com/t/#{$file}.svg#iconfont') format('svg');
}
@font-face {
  font-family: 'iconfont';
  @include font-face(font_77906_88lqji2222a22284zs22222adsadspvi);  /* project id:"77906" */

}

.iconfont {
  display: inline-block;
  font-family: 'iconfont';
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
          -webkit-transform: translate(0, 0);
              -ms-transform: translate(0, 0);
                  transform: translate(0, 0);
  -webkit-text-stroke-width: 0.2px;
}

保存后,如果不报错,就会发现当前的 xxxx.scss 文件同级有一个 xxxxx.css(在编辑器里是优化成为 xxxx.scss 的下一级显示的)

下面引出了第二个问题;

因为我编译的 scss 文件中含有中文注释;

而我当前的 scss 是不支持中文的;所以我需要配置一下 utf-8 格式的支持;

SCSS 的版本中,如果有中文会导致编译的时候出现 sass Invalid GBK character “\xE5″问题的错误的信息

这是编译时候的格式错误,此时需要更改 engine.rb 文件;

在 engine.rb 文件中加一行 utf-8 的设置;

代码如下:

Encoding.default_external = Encoding.find('utf-8')

window 环境的 engine.rb 所在路径;

如果安装了多个 scss 版本,首先需要看下当前用的是什么版本

我用的是 3.5.2 这个版本;

我的路径是下面这种

C:\Ruby23-x64\lib\ruby\gems\2.3.0\gems\sass-3.5.2\lib\sass\engine.rb

需要修改 engine.rb;

添加代码到 require之后;

保存即可;

这个时候已经完全可以正常工作了;

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了