Spec-Zone.ru › Sass

LegacyStringOptions<sync>

Если передан параметр data, Sass будет использовать его как содержимое стилового файла для компиляции.

Устаревшее

Это работает только с устаревшими API render и renderSync. Используйте StringOptions с compile, compileString, compileAsync и compileStringAsync вместо этого.

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

  • sync extends "sync" | "async"

    Это позволяет TypeScript-проверке убедиться, что LegacyAsyncImporter и LegacyAsyncFunction не передаются в renderSync.

Иерархия

  • LegacySharedOptions<sync>
    • LegacyStringOptions
  • Определено в js-api-doc/legacy/options.d.ts:630
Индекс

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

data file? includePaths? indentedSyntax?

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

charset? indentType? indentWidth? linefeed? outputStyle?

Плагины

functions? importer? pkgImporter?

Сообщения

fatalDeprecations? futureDeprecations? logger? quietDeps? silenceDeprecations? verbose?

Карты исходных данных

omitSourceMapUrl? outFile? sourceMap? sourceMapContents? sourceMapEmbed? sourceMapRoot?

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

data

data: string

Содержимое стилового файла для компиляции. Если параметр file также не передан, URL-адрес стилового файла устанавливается на "stdin".

По умолчанию, этот стиловый файл анализируется как SCSS. Это можно изменить с помощью indentedSyntax.

Пример

sass.renderSync({
data:`
h1 {
font-size: 40px;
}`
});
  • Определено в js-api-doc/legacy/options.d.ts:652

Optional file

file?: string

Если параметр file и data оба переданы, то file используется в качестве пути к стиловому файлу для отчётов об ошибках, но содержимое файла берётся из data. В этом случае расширение file не используется для определения синтаксиса стилового файла.

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

Optional includePaths

includePaths?: string[]
Совместимость (SASS_PATH):
Dart Sass
с 1.15.0
Node Sass
с 3.9.0
➤

В более ранних версиях Dart Sass и Node Sass не поддерживалась переменная среды SASS_PATH.

Этот массив строк предоставляет пути поиска для Sass для поиска стиловых файлов. Более ранние пути поиска будут иметь приоритет перед более поздними.

sass.renderSync({
file:"style.scss",
includePaths: ["node_modules/bootstrap/dist/css"]
});

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

$SASS_PATH=node_modules/bootstrap/dist/csssassstyle.scssstyle.css

Унаследовано от LegacySharedOptions.includePaths

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

Optional indentedSyntax

indentedSyntax?: boolean

Этот флаг определяет, анализируется ли data как синтаксис с отступами или нет.

Пример

sass.renderSync({
data:`
h1
font-size: 40px`,
indentedSyntax:true
});

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

false

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

Вывод

Optional charset

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

По умолчанию, если документ CSS содержит не-ASCII символы, Sass добавляет объявление @charset (в режиме расширенного вывода) или маркер порядка байтов (в режиме сжатия) для указания кодировки браузеру или другим потребителям. Если charset равно false, эти аннотации опускаются.

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

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

Optional indentType

indentType?: "space" | "tab"
Совместимость:
Dart Sass
✓
Node Sass
с версии 3.0.0

Определяет, будут ли пробелы или табуляции использоваться для отступов в сгенерированном CSS.

constresult = sass.renderSync({
file:"style.scss",
indentType:"tab",
indentWidth:1
});

result.css.toString();
// "h1 {\n\tfont-size: 40px;\n}\n"

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

'space'

Унаследовано от LegacySharedOptions.indentType

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

Optional indentWidth

indentWidth?: number
Совместимость:
Dart Sass
✓
Node Sass
с версии 3.0.0

Количество пробелов или табуляций (в зависимости от indentType) для каждого уровня отступа в сгенерированном CSS. Должно быть от 0 до 10 (включительно).

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

2

Унаследовано от LegacySharedOptions.indentWidth

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

Optional linefeed

linefeed?: "cr" | "crlf" | "lf" | "lfcr"
Совместимость:
Dart Sass
✓
Node Sass
с версии 3.0.0

Последовательность символов для конца каждой строки в сгенерированном CSS.

  • 'lf' использует U+000A LINE FEED.
  • 'lfcr' использует U+000A LINE FEED после U+000D CARRIAGE RETURN.
  • 'cr' использует U+000D CARRIAGE RETURN.
  • 'crlf' использует U+000D CARRIAGE RETURN после U+000A LINE FEED.

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

'lf'

Унаследовано от LegacySharedOptions.linefeed

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

Optional outputStyle

outputStyle?: "expanded" | "compact" | "compressed" | "nested"

Стиль вывода скомпилированного CSS. Доступны четыре стиля вывода:

  • "expanded" (по умолчанию для Dart Sass) — каждый селектор и декларация выводятся на отдельной строке.

  • "compressed" — удаляются все лишние символы, и весь документ стилей выводится на одной строке.

  • "nested" (по умолчанию для Node Sass, не поддерживается Dart Sass) — отступы CSS правил соответствуют вложенности в исходном Sass.

  • "compact" (не поддерживается Dart Sass) — каждое CSS правило выводится на отдельной строке.

Пример

constsource = `
h1 {
font-size: 40px;
code {
font-face: Roboto Mono;
}
}`;

letresult = sass.renderSync({
data:source,
outputStyle:"expanded"
});
console.log(result.css.toString());
// h1 {
// font-size: 40px;
// }
// h1 code {
// font-face: Roboto Mono;
// }

result = sass.renderSync({
data:source,
outputStyle:"compressed"
});
console.log(result.css.toString());
// h1{font-size:40px}h1 code{font-face:Roboto Mono}

result = sass.renderSync({
data:source,
outputStyle:"nested"
});
console.log(result.css.toString());
// h1 {
// font-size: 40px; }
// h1 code {
// font-face: Roboto Mono; }

result = sass.renderSync({
data:source,
outputStyle:"compact"
});
console.log(result.css.toString());
// h1 { font-size: 40px; }
// h1 code { font-face: Roboto Mono; }

Унаследовано от LegacySharedOptions.outputStyle

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

Плагины

Optional функции

функции?: {
[ключ: string]: LegacyFunction<синхронно>;
}

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

Функции принимают подклассы LegacyValue и должны возвращать то же самое.

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

Пример

sass.render({
data:`
h1 {
font-size: pow(2, 5) * 1px;
}`,
functions: {
// This function uses the synchronous API, and can be passed to either
// renderSync() or render().
'pow($base, $exponent)':function(base, exponent) {
if (!(baseinstanceofsass.types.Number)) {
throw"$base: Expected a number.";
} elseif (base.getUnit()) {
throw"$base: Expected a unitless number.";
}

if (!(exponentinstanceofsass.types.Number)) {
throw"$exponent: Expected a number.";
} elseif (exponent.getUnit()) {
throw"$exponent: Expected a unitless number.";
}

returnnewsass.types.Number(
Math.pow(base.getValue(), exponent.getValue()));
},

// This function uses the asynchronous API, and can only be passed to
// render().
'sqrt($number)':function(number, done) {
if (!(numberinstanceofsass.types.Number)) {
throw"$number: Expected a number.";
} elseif (number.getUnit()) {
throw"$number: Expected a unitless number.";
}

done(newsass.types.Number(Math.sqrt(number.getValue())));
}
}
}, function(err, result) {
console.log(result.css.toString());
// h1 {
// font-size: 32px;
// }
});

Описание типа

  • [ключ: string]: LegacyFunction<синхронно>

Унаследовано от LegacySharedOptions.функции

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

Optional импортер

импортер?: LegacyImporter<синхронно> | LegacyImporter<синхронно>[]
Совместимость:
Dart Sass
✓
Node Sass
с версии 3.0.0
➤

Версии Node Sass до 3.0.0 не поддерживают массивы импортеров, а также импортеры, которые возвращают Error объекты.

Версии Node Sass до 2.0.0 вообще не поддерживают параметр importer.

Совместимость (Порядок импорта):
Dart Sass
с версии 1.20.2
Node Sass
✗
➤

Версии Dart Sass до 1.20.2 отдавали предпочтение разрешению импорта с помощью includePaths перед разрешением их с помощью пользовательских импортеров.

Все версии Node Sass в настоящее время передают импорты импортерам перед загрузкой их относительно файла, в котором появляется @import. Это поведение считается неправильным и не должно использоваться, так как оно нарушает принцип локальности, который утверждает, что можно делать выводы относительно стиля без знания всего о конфигурации системы. Если пользователь пытается импортировать стиль относительно другого стиля, этот импорт всегда должен работать. Не должно быть возможности для какой-либо конфигурации где-либо еще его сломать.

Дополнительный обработчик(и) для загрузки файлов при обнаружении правила @use или правила @import. Это может быть как одна функция LegacyImporter, так и массив функций LegacyImporter.

Импортеры принимают URL файла, указанного в правиле @import или @use, и возвращают LegacyImporterResult, указывающий, как обработать это правило. Более подробная информация представлена в LegacySyncImporter и LegacyAsyncImporter.

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

  • Загрузка файла с диска относительно файла, в котором появилось правило @use или @import.

  • Каждый пользовательский импортер.

  • Загрузка файла относительно текущей рабочей директории.

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

  • Каждый путь загрузки, указанный в переменной среды SASS_PATH, которая должна быть разделена точкой с запятой на Windows и двоеточием в остальных случаях.

Пример

sass.render({
file:"style.scss",
importer: [
// This importer uses the synchronous API, and can be passed to either
// renderSync() or render().
function(url, prev) {
// This generates a stylesheet from scratch for `@use "big-headers"`.
if (url != "big-headers") returnnull;

return {
contents:`
h1 {
font-size: 40px;
}`
};
},

// This importer uses the asynchronous API, and can only be passed to
// render().
function(url, prev, done) {
// Convert `@use "foo/bar"` to "node_modules/foo/sass/bar".
constcomponents = url.split('/');
constinnerPath = components.slice(1).join('/');
done({
file:`node_modules/${components.first}/sass/${innerPath}`
});
}
]
}, function(err, result) {
// ...
});

Унаследовано от LegacySharedOptions.импортер

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

Optional импортер из пакета

импортер из пакета?: NodePackageImporter
Совместимость:
Dart Sass
с версии 2.0
Node Sass
✗

Если этот параметр установлен на экземпляр NodePackageImporter, Sass будет использовать встроенный импортер пакетов Node.js для разрешения файлов Sass со схемой pkg: URL. Подробная информация для авторов библиотек и пользователей представлена в документации NodePackageImporter.

Пример

sass.renderSync({
data:'@use "pkg:vuetify";',
pkgImporter:newsass.NodePackageImporter()
});

Унаследовано от LegacySharedOptions.импортер из пакета

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

Сообщения

Optional fatalDeprecations

fatalDeprecations?: (DeprecationOrId | Version)[]

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

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

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

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

dart: "1.78.0", node: false

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

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

Optional futureDeprecations

futureDeprecations?: DeprecationOrId[]

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

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

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

dart: "1.78.0", node: false

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

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

Optional logger

logger?: Logger
Совместимость:
Dart Sass
с 1.43.0
Node Sass
✗

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

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

Специальное значение silent можно использовать для лёгкого отключения всех сообщений.

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

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

Optional quietDeps

quietDeps?: boolean
Совместимость:
Dart Sass
с 1.35.0
Node Sass
✗

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

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

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

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

false

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

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

Optional silenceDeprecations

silenceDeprecations?: DeprecationOrId[]

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

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

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

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

dart: "1.78.0", node: false

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

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

Optional verbose

verbose?: boolean
Совместимость:
Dart Sass
с 1.35.0
Node Sass
✗

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

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

false

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

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

Карта исходных файлов

Optional omitSourceMapUrl

omitSourceMapUrl?: boolean

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

constresult = sass.renderSync({
file:"style.scss",
sourceMap:"out.map",
omitSourceMapUrl:true
})
console.log(result.css.toString());
// h1 {
// font-size: 40px;
// }

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

false

Унаследованно от LegacySharedOptions.omitSourceMapUrl

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

Optional outFile

outFile?: string

Место, куда Sass ожидает сохранения сгенерированного CSS. Используется для определения URL, используемого для ссылки из сгенерированного CSS на карту исходных файлов, и из карты исходных файлов на файлы Sass.

Несмотря на название, Sass не записывает выходные данные CSS в этот файл. Это должен сделать вызывающий код.

result = sass.renderSync({
file:"style.scss",
sourceMap:true,
outFile:"out.css"
})
console.log(result.css.toString());
// h1 {
// font-size: 40px;
// }
// /*# sourceMappingURL=out.css.map * /

Унаследованно от LegacySharedOptions.outFile

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

Optional sourceMap

sourceMap?: string | boolean

Указывает, нужно ли Sass генерировать карту исходных файлов. Если да, карта исходных файлов будет доступна как map (если sourceMapEmbed не true).

Если этот параметр является строкой, это путь, куда ожидается запись карты исходных файлов, который используется для ссылки на карту исходных файлов из сгенерированного CSS и для ссылки из карты исходных файлов на файлы Sass. Обратите внимание, что если sourceMap является строкой, а outFile не передаётся, Sass предполагает, что CSS будет записан в ту же директорию, что и файл-опция, если она передана.

Если этот параметр true, путь предполагается как outFile с .map в конце. Если это true и outFile не передаётся, он не имеет эффекта.

Пример

letresult = sass.renderSync({
file:"style.scss",
sourceMap:"out.map"
})
console.log(result.css.toString());
// h1 {
// font-size: 40px;
// }
// /*# sourceMappingURL=out.map * /

result = sass.renderSync({
file:"style.scss",
sourceMap:true,
outFile:"out.css"
})
console.log(result.css.toString());
// h1 {
// font-size: 40px;
// }
// /*# sourceMappingURL=out.css.map * /

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

false

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

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

Optional sourceMapContents

sourceMapContents?: boolean

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

Пример

sass.renderSync({
file:"style.scss",
sourceMap:"out.map",
sourceMapContents:true
})

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

false

Унаследованно от LegacySharedOptions.sourceMapContents

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

Optional sourceMapEmbed

sourceMapEmbed?: boolean

Указывает, нужно ли встроить содержимое файла карты исходных файлов в сгенерированный CSS вместо создания отдельного файла и ссылки на него из CSS.

Пример

sass.renderSync({
file:"style.scss",
sourceMap:"out.map",
sourceMapEmbed:true
});

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

false

Унаследованно от LegacySharedOptions.sourceMapEmbed

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

Optional sourceMapRoot

sourceMapRoot?: string

Если передано, добавляется перед всеми ссылками из карты исходных файлов на файлы Sass.

Унаследованно от LegacySharedOptions.sourceMapRoot

  • Определено в js-api-doc/legacy/options.d.ts:301
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
  • Custom Function
    • CalculationInterpolation
    • CalculationOperation
    • SassArgumentList
    • SassBoolean
    • SassCalculation
    • SassColor
    • SassFunction
    • SassList
    • SassMap
    • SassMixin
    • SassNumber
    • SassString
    • Value
    • CalculationOperator
    • CalculationValue
    • CustomFunction
    • ListSeparator
    • sassFalse
    • sassNull
    • sassTrue
  • Other
    • Exception
    • CanonicalizeContext
    • Deprecations
    • LegacyFileOptions
    • ChannelName
    • ChannelNameHsl
    • ChannelNameHwb
    • ChannelNameLab
    • ChannelNameLch
    • ChannelNameRgb
    • ChannelNameXyz
    • ColorSpaceHsl
    • ColorSpaceHwb
    • ColorSpaceLab
    • ColorSpaceLch
    • ColorSpaceRgb
    • ColorSpaceXyz
    • GamutMapMethod
    • HueInterpolationMethod
    • KnownColorSpace
    • PolarColorSpace
    • PromiseOr
    • RectangularColorSpace
    • info
  • Legacy
    • 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
  • Messages
    • 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/LegacyStringOptions

Spec-Zone.ru

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