@warn

ミックスイン関数 を記述する場合、ユーザーが特定の引数または特定の値を渡すことを妨げたい場合があります。ユーザーは廃止されたレガシー引数を渡す場合があるか、最適ではない方法で API を呼び出している可能性があります。

@warn ルールはそのために設計されています。@warn <expression> と記述されており、式の値(通常は文字列)を、現在のミックスインまたは関数が呼び出された方法を示すスタックトレースとともにユーザーに対して表示します。ただし、@error ルール とは異なり、Sass を完全に停止することはありません。

Playground

SCSS 構文

$known-prefixes: webkit, moz, ms, o;

@mixin prefix($property, $value, $prefixes) {
  @each $prefix in $prefixes {
    @if not index($known-prefixes, $prefix) {
      @warn "Unknown prefix #{$prefix}.";
    }

    -#{$prefix}-#{$property}: $value;
  }
  #{$property}: $value;
}

.tilt {
  // Oops, we typo'd "webkit" as "wekbit"!
  @include prefix(transform, rotate(15deg), wekbit ms);
}
Playground

Sass 構文

$known-prefixes: webkit, moz, ms, o

@mixin prefix($property, $value, $prefixes)
  @each $prefix in $prefixes
    @if not index($known-prefixes, $prefix)
      @warn "Unknown prefix #{$prefix}."


    -#{$prefix}-#{$property}: $value

  #{$property}: $value


.tilt
  // Oops, we typo'd "webkit" as "wekbit"!
  @include prefix(transform, rotate(15deg), wekbit ms)

CSS 出力

.tilt {
  -wekbit-transform: rotate(15deg);
  -ms-transform: rotate(15deg);
  transform: rotate(15deg);
}












警告とスタックトレースの正確な形式は、実装によって異なります。Dart Sass では次のようになります

Warning: Unknown prefix wekbit.
    example.scss 6:7   prefix()
    example.scss 16:3  root stylesheet