scss ってメディアクエリが必須ですか？


デフォルトの application.css を application.scss にリネームして

[code]

    /*
     *= require_tree .
     *= require_self
     */
    
     @import "bootstrap"
    
    .sidebar {
      width: 20%;
    }
    
[/code]

というのをかいてみたところ

[code]

    Error: media query expression must begin with '('
            on line 20:1 of app/assets/stylesheets/application.scss
    >> .sidebar {
    
[/code]

というエラーが出ます  
scss はメディアクエリが必須なんでしょうか？

Rails の仕様なのか SCSSの仕様なんでしょうか




`@import "bootstrap"`のあとに`;`がぬけていることで`@import "bootstrap" .sideber
{...`のように1つの文として扱われているだけのようです。

エラーメッセージがたしかに不親切な気がするのでしらべてみたところ処理系によってメッセージが異なるようで、

  * libsassの場合は質問文のようなメッセージ、
  * dart-sassだと
[code]     expected ";".

       ╷
    1 │ @import "hoge"
       │               ^
       ╵
      stdin 1:15  root stylesheet on line 1 at column 15
    
[/code]

  * Ruby-Sassだと
[code]     Invalid CSS after "@import "hoge"": expected selector or at-rule,
was ".class {"

    
[/code]

のようになるようです。




`@import "bootstrap"`のあとに`;`がぬけていることで`@import "bootstrap" .sideber
{...`のように1つの文として扱われているだけのようです。

エラーメッセージがたしかに不親切な気がするのでしらべてみたところ処理系によってメッセージが異なるようで、

  * libsassの場合は質問文のようなメッセージ、
  * dart-sassだと
[code]     expected ";".

       ╷
    1 │ @import "hoge"
       │               ^
       ╵
      stdin 1:15  root stylesheet on line 1 at column 15
    
[/code]

  * Ruby-Sassだと
[code]     Invalid CSS after "@import "hoge"": expected selector or at-rule,
was ".class {"

    
[/code]

のようになるようです。

