Tôi có một file có tên style.scss với đoạn mã sau:Sass bỏ qua các biến, quy định tại if-tuyên bố
@import 'variables';
body {
color: $text-color;
background: $background-color;
}
Và một phần tên _variables.scss:
$colorscheme: white;
@if $colorscheme == white {
$text-color: #333;
$background-color: #fff;
}
@else {
$text-color: #ccc;
$background-color: #333;
}
Các if- tuyên bố hoạt động đúng, nhưng các biến được xác định bên trong, không hoạt động. Khi tôi cố gắng biên dịch, tôi tiếp tục nhận được:
Syntax error: Undefined variable: “$text-color”.
Tôi bước vào cùng một điều thực sự. Tôi đã tự hỏi rằng mã sass của tôi đã không hoạt động sau một vài tháng. Nhận thấy rằng tôi đã cập nhật phiên bản grunt-sass (node-sass/libsass). Tôi chắc chắn 100% xác định các biến bên trong '@ if/@ else' đã hoạt động tại thời điểm đó. Tôi đã chơi rất nhiều với điều đó. Có lẽ đó là một lỗi và nó không nên có tác dụng. : D Cảm ơn bạn đã làm rõ điều này, @cimmanon. – monospace