@warn
@warn
规则就是为此而设计的。它被写为 @warn <expression>
,并为用户打印 表达 的值(通常是一个字符串),以及指示如何调用当前 mixin 或函数的堆栈跟踪。但与 @error
规则 不同的是,它并不能完全阻止 Sass。
¥The @warn
rule is designed just for that. It’s written @warn <expression>
and it prints the value of the expression (usually a string) for the user,
along with a stack trace indicating how the current mixin or function was
called. Unlike the @error
rule, though, it doesn’t stop Sass entirely.
Playground
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);
}
Playground
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);
}
警告和堆栈跟踪的确切格式因实现而异。这就是 Dart Sass 中的样子:
¥The exact format of the warning and stack trace varies from implementation to implementation. This is what it looks like in Dart Sass:
Warning: Unknown prefix wekbit.
example.scss 6:7 prefix()
example.scss 16:3 root stylesheet