StringOptions<sync>
Параметры типа
-
sync extends "sync" | "async"
Это позволяет проверять TypeScript, что асинхронные Importerы, FileImporterы и CustomFunctionы не передаются в compile или compileString.
Иерархия
-
Options<sync>
- StringOptions
Индекс
Входные данные
Выходные данные
Плагины
Сообщения
Входные данные
Optional importer
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));
}
}
Optional syntax
Optional url
- Dart Sass
- с 1.75.0
- Node Sass
- ✗
Канонический URL входного листа стилей.
Сначала относительный путь к ресурсу определяется относительно url, а затем преобразуется в файл на диске, если это file:// URL. Если его нельзя преобразовать в файл на диске, он передается в importers и loadPaths.
Вывод
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 functions
Дополнительные встроенные функции Sass, доступные во всех стилях. Этот параметр принимает объект, ключи которого — подписи функций Sass, как вы бы писали для @function rule, а значения — CustomFunction.
Функциям передаются подклассы Value, и они должны возвращать такие же. Если возвращаемое значение включает SassCalculation, они будут упрощены перед возвратом.
При написании пользовательских функций важно сделать их удобными для пользователя и максимально приблизить к стандартам ядра Sass. Вот несколько рекомендаций:
-
Используйте
Value.assert*методы, такие как assertString, для приведения нетипизированныхValueобъектов к более конкретным типам. Для значений, переданных напрямую в качестве аргументов, передайте также имя аргумента. Это гарантирует, что пользователь получит понятные сообщения об ошибках при передаче неверного типа в вашу функцию. -
Отдельные классы могут иметь более конкретные
assert*методы, такие как assertInt, которые следует использовать по возможности. -
В Sass каждое значение рассматривается как список. Вместо попытки определить тип SassList, следует использовать asList для обработки всех значений как списков.
-
При манипулировании значениями, такими как списки, строки и числа, которые имеют метаданные (запятая или пробел в качестве разделителя, скобки или нет, кавычки или нет), метаданные результата должны соответствовать метаданным входных данных.
-
Если есть сомнения, списки должны быть по умолчанию с запятыми, строки — с кавычками, а числа — без единиц измерения.
-
В Sass списки и строки используют индексацию с 1, а отрицательные индексы используются для индексации с конца значения. Функции должны следовать этим соглашениям. 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 importers
Пользовательские импортеры, которые управляют тем, как Sass разрешает загрузки из правил, таких как @use и @import.
Загрузки разрешаются по порядку:
-
Импортер, который использовался для загрузки текущего стиля, с разрешенным URL относительно канонического URL текущего стиля.
-
Каждый Importer, FileImporter или NodePackageImporter в importers по порядку.
-
Каждый путь загрузки в loadPaths по порядку.
Если ни один из этих вариантов не возвращает файл Sass, загрузка завершается ошибкой, и Sass выдает ошибку.
Сообщения
Optional alertAscii
Если это true, компилятор будет использовать исключительно символы ASCII в своих сообщениях об ошибках и предупреждениях. В противном случае, он может также использовать не-ASCII символы Юникода.
Значение по умолчанию
false
Optional alertColor
Если это true, компилятор будет использовать цветовые коды эскейпов ANSI в своих сообщениях об ошибках и предупреждениях. Если это false, он не будет использовать их. Если это undefined, компилятор определит, использовать ли цвета, в зависимости от того, использует ли пользователь интерактивную консоль.
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/StringOptions
Параметры, которые можно передать в compileString или compileStringAsync.
Если поле importer не передано, файл точки входа может загружать файлы относительно самого себя, если в поле url передана
file://URL. Если оно передано, файл точки входа использует его для загрузки файлов относительно самого себя.