@import line期望选择器或at-rule,但不是因为缺少分号

时间:2015-07-11 07:57:51

标签: compass-sass

我有这个罗盘错误

  

第3行:“@charset”UTF-8“”之后的无效CSS:期望的选择器或   at-rule,是“@import'指南针';”)

该文件如下。它甚至不包含我自己的任何代码

@charset "UTF-8"

@import 'compass';

我知道人们说the @import line misses semicolon时出现此错误,但我的文件中有分号。

同样的文件(scss和config.rb)可以很容易地在linux中编译而没有任何问题。

有人知道出了什么问题吗?

给出错误的配置是

  • Windows 8.1
  • ruby​​ 2.1.6p336(2015-04-13修订版50298)[i386-mingw32]
  • 指南针1.0.3(Polaris)
  • Sass 3.4.16(选择性史蒂夫)

我尝试了很多组合

(1)
-------------------
@import 'compass';    
-------------------
// only this line, no @charset line.
// Result: compilation ok, but I need charset because 
// my COMMENTS (yes only comments) have UTF8 chars.
(2)
-------------------
@charset "UTF-8";

@import 'compass';    
-------------------
// semicolon after @charset
// Result: compilation error:
// Invalid CP950 character "\xE2"
// because the @charset line is unrecognised
(3)
// Add this to config.rb
Encoding.default_external = 'utf-8'
// https://stackoverflow.com/a/23338595/2841279
// http://blog.pixelastic.com/2014/09/06/compass-utf-8-encoding-on-windows/
// Result: compilation error: expected selector or
// at-rule, was "@import 'compass';
(4)
// Add this to config.rb
encoding = "utf-8"
// https://stackoverflow.com/a/13987672/2841279
// Result: compilation error: expected selector or
// at-rule, was "@import 'compass';

3 个答案:

答案 0 :(得分:1)

这是为了工作需要的方式

@charset "UTF-8";@import 'compass';

答案 1 :(得分:0)

@charset "UTF-8";由编译器添加,例如必要时就骚扰

答案 2 :(得分:0)

好像将其放置在页面第一行以外的任何位置都会导致该错误。尝试将其放在顶部,然后查看是否可以解决该问题。