@warn

Quando executas misturas e funções, podes querer desencorajar os utilizadores de passarem certos argumentos ou valores. Eles podem estar a passar argumentos legados que agora estão depreciados, ou podem estar a chamar a tua API duma maneira que não é muito ideal.

A regra @warn é desenhada apenas para isto. É escrita como @warn <expression> e imprime o valor da expressão (normalmente uma sequência de caracteres) para o utilizador, juntamente com um vestígio da pilha indicando como a mistura ou função atual foi executada. Ao contrário da regra @error, não para totalmente a Sass:

SCSS Syntax

$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);
}

Sass Syntax

$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 Output

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












O formato exato do aviso e vestígio da pilha varia de implementação à implementação. Isto é como se parece na Sass de Dart:

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