Options<sync>
Type Parameters
-
sync extends "sync" | "async"
Это позволяет проверять TypeScript, что асинхронные Importerы, FileImporterы и CustomFunctionы не передаются в compile или compileString.
Hierarchy
- Options
Index
Input
Optional loadPaths
Пути, в которых следует искать стили, загруженные правилами, такими как @use и @import.
Путь загрузки loadPath эквивалентен следующему FileImporter:
{
findFileUrl(url) {
// Load paths only support relative URLs.
if (/^[a-z]+:/i.test(url)) returnnull;
returnnewURL(url, pathToFileURL(loadPath));
}
}
Output
Optional charset
- Dart Sass
- с 1.54.0
- Node Sass
- ✗
Если true, компилятор может добавить @charset "UTF-8"; или U+FEFF (маркер порядка байтов), если он выводит CSS не на ASCII.
Если false, компилятор никогда не выводит эти последовательности байтов. Это идеально подходит для конкатенации или встраивания в HTML <style> теги. (Вывод по-прежнему будет UTF-8.)
Значение по умолчанию
true
Optional sourceMap
Генерировать ли Sass карту исходных данных. Если да, то карта исходных данных будет доступна как sourceMap.
Sass не добавляет автоматически комментарий sourceMappingURL в сгенерированный CSS. Это задача вызывающей стороны, так как она знает, где находится CSS и карта исходных данных и как она будет подаваться в браузер.
Значение по умолчанию
false
Optional sourceMapIncludeSources
Включать ли Sass исходные данные в сгенерированную карту исходных данных.
Этот параметр не имеет эффекта, если sourceMap равен false.
Значение по умолчанию
false
Optional style
Стиль OutputStyle сгенерированного CSS.
Пример
constsource = `
h1 {
font-size: 40px;
code {
font-face: Roboto Mono;
}
}`;
letresult = sass.compileString(source, {style:"expanded"});
console.log(result.css.toString());
// h1 {
// font-size: 40px;
// }
// h1 code {
// font-face: Roboto Mono;
// }
result = sass.compileString(source, {style:"compressed"})
console.log(result.css.toString());
// h1{font-size:40px}h1 code{font-face:Roboto Mono}
Плагины
Optional функции
Дополнительные встроенные функции Sass, доступные во всех стилевых файлах. Этот параметр принимает объект, ключи которого — подписи функций Sass, как вы бы написали для @function rule, а значения — CustomFunction.
Функциям передаются подклассы Value, и они должны возвращать такие же. Если возвращаемое значение включает SassCalculation, они будут упрощены перед возвращением.
При написании пользовательских функций важно сделать их максимально удобными для пользователя и максимально приближенными к стандартам, установленным ядром функций Sass. Некоторые полезные рекомендации:
-
Используйте методы, такие как assertString, для преобразования нетипизированных
Valueобъектов в более специфические типы. Для значений, переданных непосредственно в качестве аргументов, передавайте также имя аргумента. Это гарантирует, что пользователь получит понятные сообщения об ошибках, когда он передаёт неправильный тип вашей функции. -
Отдельные классы могут иметь более специфичные
assert*методы, такие как assertInt, которые следует использовать, когда это возможно. -
В Sass каждое значение рассматривается как список. Вместо того, чтобы пытаться обнаружить тип SassList, вы должны использовать asList для обработки всех значений как списков.
-
При манипулировании значениями, такими как списки, строки и числа, которые имеют метаданные (запятая или пробел, квадратные или круглые скобки, кавычки или без кавычек), метаданные вывода должны соответствовать метаданным ввода.
-
В случае неопределённости списки должны по умолчанию быть разделителями запятыми, строки — с кавычками, а числа — без единиц.
-
В Sass списки и строки используют индексацию с единицы и используют отрицательные индексы для индексации с конца значения. Функции должны следовать этим соглашениям. sassIndexToListIndex и sassIndexToStringIndex можно использовать для автоматизации этого процесса.
-
Индексы строк в Sass относятся к кодам Unicode, а индексы JavaScript строк относятся к кодовым единицам UTF-16. Например, символ U+1F60A SMILING FACE WITH SMILING EYES является одним кодом Unicode, но в UTF-16 он представляется двумя кодовыми единицами (
0xD83Dи0xDE0A). Таким образом, в JavaScript"a😊b".charCodeAt(1)возвращает0xD83D, в то время как в Sassstr-slice("a😊b", 1, 1)возвращает"😊". Функции должны следовать соглашениям Sass. sassIndexToStringIndex можно использовать для автоматизации этого процесса, а свойство sassLength можно использовать для доступа к длине строки в кодах.
Пример
sass.compileString(`
h1 {
font-size: pow(2, 5) * 1px;
}`, {
functions: {
// Note: in real code, you should use `math.pow()` from the built-in
// `sass:math` module.
'pow($base, $exponent)':function(args) {
constbase = args[0].assertNumber('base').assertNoUnits('base');
constexponent =
args[1].assertNumber('exponent').assertNoUnits('exponent');
returnnewsass.SassNumber(Math.pow(base.value, exponent.value));
}
}
});
Optional импортеры
Пользовательские импортеры, которые контролируют, как Sass разрешает загрузки из правил, таких как @use и @import.
Загрузки разрешаются, пытаясь в порядке:
-
Импортер, который использовался для загрузки текущего стилевого файла, с разрешенной URL относительно канонической URL текущего стилевого файла.
-
Каждый Importer, FileImporter или NodePackageImporter в импортеры, в порядке.
-
Каждый путь к загружаемому файлу в путиЗагрузки, в порядке.
Если ни один из этих вариантов не возвращает Sass-файл, загрузка завершается неудачно, и Sass выводит ошибку.
Сообщения
Optional alertAscii
Если это true, компилятор будет исключительно использовать символы ASCII в своих сообщениях об ошибках и предупреждениях. В противном случае он также может использовать не-ASCII символы Юникода.
Значение по умолчанию
false
Optional alertColor
Если это true, компилятор будет использовать коды ANSI цветовых escape-последовательностей в своих сообщениях об ошибках и предупреждениях. Если это false, он не будет использовать их. Если неопределено, компилятор определит, использовать ли цвета, в зависимости от того, использует ли пользователь интерактивную терминальную консоль.
Optional fatalDeprecations
Набор устаревших функций, которые следует обрабатывать как фатальные ошибки.
Если во время компиляции встретится предупреждение об устаревании любого указанного типа, компилятор вместо этого выдаст ошибку.
Если предоставлен Version, то все устаревшие функции, активные в данной версии компилятора, будут обрабатываться как фатальные.
Совместимость
dart: "1.74.0", node: false
Optional futureDeprecations
Набор будущих устаревших функций, для раннего включения.
Будущие устаревшие функции, указанные здесь, будут рассматриваться компилятором как активные, вызывая необходимые предупреждения.
Совместимость
dart: "1.74.0", node: false
Optional logger
Объект для обработки предупреждений и/или сообщений отладки из Sass.
По умолчанию Sass отображает предупреждения и сообщения отладки в стандартный поток ошибок, но если warn или debug установлены, они будут вызваны вместо этого.
Специальное значение silent может быть использовано для лёгкого отключения всех сообщений.
Optional quietDeps
Если этот параметр установлен в true, Sass не будет отображать предупреждения, вызванные зависимостями. «Зависимость» определяется как любой файл, загруженный через loadPaths или importers. Стили, импортированные относительно точки входа, не считаются зависимостями.
Это полезно для отключения предупреждений об устаревших функциях, которые вы не можете исправить самостоятельно. Однако, пожалуйста, также сообщите своим зависимостям об устаревших функциях, чтобы они могли быть исправлены как можно скорее!
Если compileString или compileStringAsync вызываются без url, все загруженные стили будут считаться зависимостями. Поскольку у него нет собственного пути, все, что он загружает, поступает из пути загрузки, а не из относительного импорта.
Значение по умолчанию
false
Optional silenceDeprecations
Набор активных устаревших функций, которые следует игнорировать.
Если во время компиляции встретится предупреждение об устаревании любого указанного типа, компилятор проигнорирует его.
В конечном счёте устаревшие функции, от которых вы зависите, перестанут работать.
Совместимость
dart: "1.74.0", node: false
Optional verbose
По умолчанию Dart Sass выводит только пять экземпляров одного и того же предупреждения об устаревании за один процесс компиляции, чтобы избежать перегрузки пользователей шумом в консоли. Если вы установите verbose в значение true, он вместо этого выведет каждое предупреждение об устаревании, с которым столкнётся.
Значение по умолчанию
false
© 2006–2025 the Sass team, and numerous contributors
Licensed under the MIT License.
https://sass-lang.com/documentation/js-api/interfaces/Options
Параметры, которые можно передать в compile, compileAsync, compileString или compileStringAsync.