Spec-Zone.ru › Sass

Options<sync>

Параметры, которые можно передать в compile, compileAsync, compileString или compileStringAsync.

Параметры типа

  • sync extends "sync" | "async"

    Это позволяет проверяющему TypeScript убедиться, что асинхронные Importer, FileImporter и CustomFunction не передаются в compile или compileString.

Иерархия

  • Options
    • StringOptions
  • Определено в js-api-doc/options.d.ts:91
Содержание

Ввод

loadPaths?

Вывод

charset? sourceMap? sourceMapIncludeSources? style?

Плагины

functions? importers?

Сообщения

alertAscii? alertColor? fatalDeprecations? futureDeprecations? logger? quietDeps? silenceDeprecations? verbose?

Ввод

Optional loadPaths

loadPaths?: string[]

Пути, по которым выполняется поиск таблиц стилей, загружаемых такими правилами, как @use и @import.

Путь загрузки loadPath эквивалентен следующему FileImporter:

{
findFileUrl(url) {
// Load paths only support relative URLs.
if (/^[a-z]+:/i.test(url)) returnnull;
returnnewURL(url, pathToFileURL(loadPath));
}
}
  • Определено в js-api-doc/options.d.ts:285

Вывод

Optional charset

charset?: boolean
Совместимость:
Dart Sass
с версии 1.54.0
Node Sass
✗

Если true, компилятор может добавить в начало @charset "UTF-8"; или U+FEFF (маркер порядка байтов), если результат содержит символы, отличные от ASCII, в CSS.

Если false, компилятор никогда не выводит эти последовательности байтов. Это оптимальный вариант при объединении или встраивании в теги HTML <style>. (Результат всё равно будет в кодировке UTF-8.)

Значение по умолчанию

true

  • Определено в js-api-doc/options.d.ts:124

Optional sourceMap

sourceMap?: boolean

Должен ли Sass создавать карту исходного кода. Если да, карта исходного кода будет доступна как sourceMap.

Sass не добавляет автоматически комментарий sourceMappingURL в сгенерированный CSS. Это должны делать вызывающие стороны, поскольку им точно известно, где относительно друг друга будут располагаться CSS и карта исходного кода и как они будут передаваться браузеру.

Значение по умолчанию

false

  • Определено в js-api-doc/options.d.ts:348

Optional sourceMapIncludeSources

sourceMapIncludeSources?: boolean

Должен ли Sass включать исходные файлы в сгенерированную карту исходного кода.

Этот параметр не действует, если sourceMap имеет значение false.

Значение по умолчанию

false

  • Определено в js-api-doc/options.d.ts:358

Optional style

style?: OutputStyle

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}
  • Определено в js-api-doc/options.d.ts:390

Плагины

Optional functions

functions?: Record<string, CustomFunction<sync>>

Дополнительные встроенные функции Sass, доступные во всех таблицах стилей. Этот параметр принимает объект, ключи которого — сигнатуры функций Sass, записанные так же, как в правиле @function rule, а значения — объекты CustomFunction.

Функциям передаются подклассы Value, и они должны возвращать такой же тип. Если возвращаемое значение содержит SassCalculation, перед возвратом они будут упрощены.

При создании пользовательских функций важно сделать их удобными для пользователей и максимально приблизить к стандартам, заданным основными функциями Sass. Ниже приведены полезные рекомендации:

  • Используйте методы Value.assert*, например assertString, чтобы преобразовывать нетипизированные объекты Value в более конкретные типы. Для значений, переданных непосредственно как аргументы, также передавайте имя аргумента. Это гарантирует, что при передаче функции значения неправильного типа пользователь получит понятное сообщение об ошибке.

  • Для отдельных классов могут быть доступны более специализированные методы assert*, например assertInt; по возможности используйте их.

  • В Sass любое значение считается списком. Вместо проверки типа SassList используйте asList, чтобы трактовать все значения как списки.

  • При обработке значений с метаданными, например списков, строк и чисел (разделённых запятыми или пробелами, заключённых в скобки или без скобок, заключённых в кавычки или без кавычек, с единицами измерения), метаданные результата должны соответствовать метаданным исходного значения.

  • Если сомневаетесь, используйте для списков разделение запятыми, для строк — кавычки, а для чисел — значения без единиц измерения.

  • В Sass для списков и строк используется индексация с единицы, а отрицательные индексы отсчитываются от конца значения. Функции должны следовать этим соглашениям. Методы sassIndexToListIndex и sassIndexToStringIndex позволяют выполнять преобразование автоматически.

  • Индексы строк в Sass относятся к кодовым точкам Unicode, тогда как индексы строк JavaScript относятся к 16-разрядным кодовым единицам UTF. Например, символ U+1F60A SMILING FACE WITH SMILING EYES является одной кодовой точкой Unicode, но в UTF-16 представлен двумя кодовыми единицами (0xD83D и 0xDE0A). Поэтому в JavaScript "a😊b".charCodeAt(1) возвращает 0xD83D, тогда как в Sass str-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));
}
}
});
  • Определено в js-api-doc/options.d.ts:214

Optional importers

importers?: (NodePackageImporter | Importer<sync> | FileImporter<sync>)[]

Пользовательские импортёры, управляющие разрешением путей Sass для таких правил, как @use и @import.

Загрузка выполняется в следующем порядке:

  • Только для относительных URL: URL, разрешённый относительно канонического URL текущей таблицы стилей, передаётся импортёру, который загрузил текущую таблицу стилей.

    При вызове compileString или compileStringAsync входной файл не «загружается» в том же смысле, что и другие файлы. В этом случае:

    • url — это канонический URL, а importer — импортёр, который его загрузил.

    • Если importer не передан, а url является URL file:, по умолчанию URL загружается из файловой системы. (Это можно отключить, передав {canonicalize: url => null} в качестве importer.)

    • Если url не передан, но передан importer, относительный URL передаётся в importer без изменений.

  • Каждый Importer, FileImporter или NodePackageImporter из importers по порядку.

  • Каждый путь загрузки из loadPaths по порядку.

Если ни один из этих вариантов не возвращает файл Sass, загрузка завершается ошибкой, и Sass выдаёт исключение.

  • Определено в js-api-doc/options.d.ts:264

Сообщения

Optional alertAscii

alertAscii?: boolean

Если значение этого параметра — true, компилятор будет использовать только символы ASCII в сообщениях об ошибках и предупреждениях. В противном случае он также может использовать символы Unicode, отличные от ASCII.

Значение по умолчанию

false

  • Определено в js-api-doc/options.d.ts:100

Optional alertColor

alertColor?: boolean

Если значение этого параметра — true, компилятор будет использовать управляющие последовательности цвета ANSI в сообщениях об ошибках и предупреждениях. Если значение — false, эти последовательности использоваться не будут. Если значение не задано, компилятор определит, использовать ли цвета, в зависимости от того, работает ли пользователь в интерактивном терминале.

  • Определено в js-api-doc/options.d.ts:110

Optional fatalDeprecations

fatalDeprecations?: (DeprecationOrId | Version)[]

Список устаревших функций, которые следует считать критическими.

Если во время компиляции встречается предупреждение об устаревании любого из указанных типов, компилятор вместо этого выдаст ошибку.

Если указан Version, все функции, устаревшие в этой версии компилятора, будут считаться критическими.

Совместимость

dart: "1.74.0", node: false

  • Определено в js-api-doc/options.d.ts:138

Optional futureDeprecations

futureDeprecations?: DeprecationOrId[]

Список будущих устаревших функций, использование которых можно включить заранее.

Переданные здесь будущие устаревшие функции компилятор будет считать уже активными и при необходимости выдавать предупреждения.

Совместимость

dart: "1.74.0", node: false

  • Определено в js-api-doc/options.d.ts:225

Optional logger

logger?: Logger

Объект для обработки предупреждений и/или отладочных сообщений Sass.

По умолчанию Sass выводит предупреждения и отладочные сообщения в стандартный поток ошибок, но если заданы warn или debug, вместо этого вызываются они.

Специальное значение silent позволяет легко отключить все сообщения.

  • Определено в js-api-doc/options.d.ts:299

Optional quietDeps

quietDeps?: boolean

Если этому параметру задано значение true, Sass не будет выводить предупреждения, вызванные зависимостями. «Зависимостью» считается любой файл, загруженный через loadPaths или importers. Таблицы стилей, импортированные относительно входного файла, зависимостями не считаются.

Это полезно, чтобы отключить предупреждения об устаревании, которые вы не можете исправить самостоятельно. Однако не забудьте также сообщить своим зависимостям об этих предупреждениях, чтобы их можно было исправить как можно скорее!

Если compileString или compileStringAsync вызывается без url, все загружаемые таблицы стилей будут считаться зависимостями. Поскольку у неё нет собственного пути, всё, что она загружает, поступает из пути загрузки, а не из относительного импорта.

Значение по умолчанию

false

  • Определено в js-api-doc/options.d.ts:320

Optional silenceDeprecations

silenceDeprecations?: DeprecationOrId[]

Список активных устаревших функций, предупреждения о которых следует игнорировать.

Если во время компиляции встречается предупреждение об устаревании любого из указанных типов, компилятор проигнорирует его.

Функциональность, помеченная как устаревшая, от которой вы зависите, в конечном счёте перестанет работать.

Совместимость

dart: "1.74.0", node: false

  • Определено в js-api-doc/options.d.ts:334

Optional verbose

verbose?: boolean

По умолчанию Dart Sass выводит не более пяти экземпляров одного и того же предупреждения об устаревании за одну компиляцию, чтобы не засорять консоль пользователя. Если задать для verbose значение true, вместо этого будут выведены все встретившиеся предупреждения об устаревании.

Значение по умолчанию

false

  • Определено в js-api-doc/options.d.ts:401
sass
  • Компиляция
    • AsyncCompiler
    • Compiler
    • CompileResult
    • compile
    • compileAsync
    • compileString
    • compileStringAsync
    • initAsyncCompiler
    • initCompiler
  • Параметры
    • Options
    • StringOptions
    • OutputStyle
    • StringOptionsWithImporter
    • StringOptionsWithoutImporter
    • Syntax
  • Журналирование
    • Logger
      • silent
    • Logger
    • SourceLocation
    • SourceSpan
    • LoggerWarnOptions
  • Импорт
    • NodePackageImporter
    • FileImporter
    • Importer
    • ImporterResult
  • Пользовательская функция
    • CalculationInterpolation
    • CalculationOperation
    • SassArgumentList
    • SassBoolean
    • SassCalculation
    • SassColor
    • SassFunction
    • SassList
    • SassMap
    • SassMixin
    • SassNumber
    • SassString
    • Value
    • CalculationOperator
    • CalculationValue
    • CustomFunction
    • ListSeparator
    • sassFalse
    • sassNull
    • sassTrue
  • Прочее
    • Exception
    • CanonicalizeContext
    • Deprecations
    • LegacyFileOptions
    • ChannelName
    • ChannelNameHsl
    • ChannelNameHwb
    • ChannelNameLab
    • ChannelNameLch
    • ChannelNameRgb
    • ChannelNameXyz
    • ColorSpaceHsl
    • ColorSpaceHwb
    • ColorSpaceLab
    • ColorSpaceLch
    • ColorSpaceRgb
    • ColorSpaceXyz
    • GamutMapMethod
    • HueInterpolationMethod
    • KnownColorSpace
    • PolarColorSpace
    • PromiseOr
    • RectangularColorSpace
    • info
  • Устаревшее
    • types
      • Boolean
      • Color
      • Error
      • List
      • Map
      • Null
      • Number
      • String
    • LegacyException
    • LegacyImporterThis
    • LegacyPluginThis
    • LegacyResult
    • LegacySharedOptions
    • LegacyStringOptions
    • LegacyAsyncFunction
    • LegacyAsyncFunctionDone
    • LegacyAsyncImporter
    • LegacyFunction
    • LegacyImporter
    • LegacyImporterResult
    • LegacyOptions
    • LegacySyncFunction
    • LegacySyncImporter
    • LegacyValue
    • FALSE
    • NULL
    • TRUE
    • render
    • renderSync
  • Сообщения
    • Version
    • Deprecation
    • DeprecationOrId
    • DeprecationStatus
    • deprecations

© 2006–2025 the Sass team, and numerous contributors
Licensed under the MIT License.
https://sass-lang.com/documentation/js-api/interfaces/Options

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API