Spec-Zone.ru › Sass

StringOptions<sync>

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

Если поле importer не передано, файл точки входа может загружать файлы относительно себя, если в поле url передан file:// URL. Если передан importer, файл точки входа использует этот импортер для загрузки файлов относительно себя.

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

  • sync extends "sync" | "async"

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

Иерархия

  • Options<sync>
    • StringOptions
  • Определено в js-api-doc/options.d.ts:419
Индекс

Ввод

importer? loadPaths? syntax? url?

Вывод

charset? sourceMap? sourceMapIncludeSources? style?

Плагины

functions? importers?

Сообщения

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

Ввод

Optional importer

importer?: Importer<sync> | FileImporter<sync>

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

Сведения о разрешении загрузок для таблицы стилей точки входа см. в разделе importers.

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

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));
}
}

Унаследовано от Options.loadPaths

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

Optional syntax

syntax?: Syntax

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

По умолчанию

'scss'

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

Optional url

url?: URL
Совместимость (неопределённый URL с импортером):
Dart Sass
начиная с 1.75.0
Node Sass
✗
➤

В более ранних версиях Dart Sass при передаче importer требовалось указывать url.

Канонический URL таблицы стилей точки входа.

Сведения о разрешении загрузок для таблицы стилей точки входа см. в разделе importers.

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

Вывод

Optional charset

charset?: boolean
Совместимость:
Dart Sass
начиная с 1.54.0
Node Sass
✗

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

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

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

true

Унаследовано от Options.charset

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

Optional sourceMap

sourceMap?: boolean

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

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

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

false

Унаследовано от Options.sourceMap

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

Optional sourceMapIncludeSources

sourceMapIncludeSources?: boolean

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

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

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

false

Унаследовано от Options.sourceMapIncludeSources

  • Определено в 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}

Унаследовано от Options.style

  • Определено в 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-16. Например, символ 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));
}
}
});

Унаследовано от Options.functions

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

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

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

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

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

Унаследовано от Options.importers

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

Сообщения

Optional alertAscii

alertAscii?: boolean

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

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

false

Унаследовано от Options.alertAscii

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

Optional alertColor

alertColor?: boolean

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

Унаследовано от Options.alertColor

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

Optional fatalDeprecations

fatalDeprecations?: (DeprecationOrId | Version)[]

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

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

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

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

dart: "1.74.0", node: false

Унаследовано от Options.fatalDeprecations

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

Optional futureDeprecations

futureDeprecations?: DeprecationOrId[]

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

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

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

dart: "1.74.0", node: false

Унаследовано от Options.futureDeprecations

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

Optional logger

logger?: Logger

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

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

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

Унаследовано от Options.logger

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

Optional quietDeps

quietDeps?: boolean

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

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

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

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

false

Унаследовано от Options.quietDeps

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

Optional silenceDeprecations

silenceDeprecations?: DeprecationOrId[]

Набор активных устареваний, которые следует игнорировать.

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

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

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

dart: "1.74.0", node: false

Унаследовано от Options.silenceDeprecations

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

Optional verbose

verbose?: boolean

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

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

false

Унаследовано от Options.verbose

  • Определено в js-api-doc/options.d.ts:401
sass
  • Компиляция
    • AsyncCompiler
    • Compiler
    • CompileResult
    • compile
    • compileAsync
    • compileString
    • compileStringAsync
    • initAsyncCompiler
    • initCompiler
  • Параметры
    • Options
    • StringOptions
    • OutputStyle
    • StringOptionsWithImporter
    • StringOptionsWithoutImporter
    • Syntax
  • Logger
    • Logger
      • silent
    • Logger
    • SourceLocation
    • SourceSpan
    • LoggerWarnOptions
  • Importer
    • 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/StringOptions

Spec-Zone.ru

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