Как импортировать каталог в libsass

Я пытаюсь импортировать несколько файлов SCSS (page1.scss, page2.scss и ..) в свой app.scss, но не нашел решения (плагин и т. д.).

введите здесь описание изображения

Я видел эти ответы но они для Ruby on Rails, а не для libsass. Я использую:

Глоток,

Глоток-дерзость,

Либсасс и

Ларавель Эликсир

Любое решение?


person Alex    schedule 29.10.2015    source источник


Ответы (1)


Длинный ответ короткий:

Как вы можете найти в этой проблеме в официальном проекте libsass github, globs не являются частью спецификации SASS, поэтому их поддержка в libsass не планируется.

Зачем?

Основная проблема реализации этой функции связана с порядком импорта файлов. Во-первых, насколько мне известно, не существует стандартного способа поведения потоковых файлов чтения в разных ОС (linux, mac os x, windows) или файловых системах (reiserfs, ext3 , ntfs, fat32 и т. д.), что приводит к непредсказуемому порядку при импорте файлов.

В любом случае, даже если будет какая-то кросс-платформенная стандартная поддержка чтения файлов из каждой файловой системы, и вы уверены, что всегда будете получать файлы в одном и том же порядке. Какой порядок должен быть?

если вам это все еще нужно/хотите:

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

Есть рубиновая жемчужина: sass-globbing. Но это не работает с gulp/libsass из-за того, что они по-разному обрабатывают потоки файлов. Вдохновленный этой рубиновой жемчужиной, есть gulp-css-globbing. Похоже, этот проект немного устарел, но вы можете использовать его на свой страх и риск.
И в этом сообщении в блоге: Sass Directory Imports С помощью Gulp вы можете найти другое решение, которое включает автоматическое создание файла для каждой папки, который импортирует все файлы внутри . Немного запутанно на мой вкус, но это сработает, если вам это действительно нужно.

person Eloy Pineda    schedule 31.10.2015
comment
Большое спасибо за ваш ответ. - person Alex; 01.11.2015