Spec-Zone.ru › Sass

StringOptions<sync>

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

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

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

  • sync extends "sync" | "async"

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

Иерархия

  • Options<sync>
    • StringOptions
  • Defined in js-api-doc/options.d.ts:402
Индекс

Входные данные

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, а затем передается в importer. (Если url не указан, он передается как есть.) Если импортер не распознает его, он передается в importers и loadPaths.

  • Defined in js-api-doc/options.d.ts:424

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

Inherited from Options.loadPaths

  • Defined in js-api-doc/options.d.ts:268

Optional syntax

syntax?: Syntax

Используемый Syntax для разбора входного листа стилей.

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

'scss'

  • Defined in js-api-doc/options.d.ts:411

Optional url

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

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

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

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

  • Defined in js-api-doc/options.d.ts:440

Вывод

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:331

Optional sourceMapIncludeSources

sourceMapIncludeSources?: boolean

Включать ли Sass исходные данные в генерируемую карту исходных данных.

Этот параметр не имеет эффекта, если sourceMap имеет значение false.

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

false

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

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

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:373

Плагины

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 списки и строки используют индексацию с 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, а в 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 текущего стиля.

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

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

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

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

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

Сообщения

Optional alertAscii

alertAscii?: boolean

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

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

false

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

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

Optional alertColor

alertColor?: boolean

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

Унаследовано от 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:282

Optional quietDeps

quietDeps?: boolean

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

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

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

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

false

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

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

Optional silenceDeprecations

silenceDeprecations?: DeprecationOrId[]

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

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

В конечном итоге устаревшие функции, от которых вы зависите, перестанут работать.

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

dart: "1.74.0", node: false

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

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

Optional verbose

verbose?: boolean

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

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

false

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

  • Определено в js-api-doc/options.d.ts:384
sass
  • Compile
    • AsyncCompiler
    • Compiler
    • CompileResult
    • compile
    • compileAsync
    • compileString
    • compileStringAsync
    • initAsyncCompiler
    • initCompiler
  • Options
    • 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