@warn
在编写混合宏和函数时,你可能希望劝阻用户传递某些参数或某些值。他们可能正在传递现在已弃用的遗留参数,或者他们调用你的 API 的方式可能不是最优的。
在编写混合宏和函数时,你可能希望劝阻用户传递某些参数或某些值。他们可能正在传递现在已弃用的遗留参数,或者他们调用你的 API 的方式可能不是最优的。
@warn 规则就是为此设计的。其写法是 @warn <expression>,它会为用户打印表达式的值(通常是一个字符串),以及一个堆栈跟踪,指示当前混合宏或函数是如何被调用的。然而,与 @error 规则不同,它不会完全停止 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);
}
$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)
.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