Привет! <br/> Заметил, что слово "устал" не совсем подходит, но это не суть. У меня возникли затруднения с настройкой проекта, и я был бы благодарен за вашу помощь. Я использовал эти настройки "потольку – поскольку". <br/> <br/> <b>У меня есть три файла:</b> <br/> <blockquote>main.scss<br/> base.scss<br/> banner.scss</blockquote> <br/> <br/> <b>В файле main.scss я подключаю остальные файлы:</b> <br/> <pre><code class="css">@import 'base.scss'; @import 'banner.scss';</code></pre> <br/> <br/> <b>В файле base.scss устанавливаю некоторые переменные:</b> <br/> <code class="css">$color_0: #000;</code> <br/> <br/> <b>В файле banner.scss определяю стили:</b> <br/> <pre><code class="css">a{ color: $color_0; text-decoration: none; }</code></pre> <br/> <br/> <b>Я установил Gulp и несколько расширений:</b> <br/> <pre><code>sudo npm i gulp sudo npm i gulp-autoprefixer sudo npm i gulp-clean sudo npm i gulp-group sudo npm i gulp-plumber sudo npm i gulp-rename sudo npm i gulp-sass sass sudo npm i gulp-uglify</code></pre> <br/> <br/> <b>Теперь я прописываю gulpfile.js:</b> <br/> <pre><code class="javascript">// Подключаем функции gulp const { src, dest, parallel, watch, series } = require('gulp'); // Подключаем модули const sass = require('gulp-sass')(require('sass')); const autoprefixer = require('gulp-autoprefixer'); const gcmq = require('gulp-group-css-media-queries'); const cleanCSS = require('gulp-clean-css'); const rename = require('gulp-rename'); const uglify = require('gulp-uglify'); // Функция для обработки стилей function style() { return src('app/static/src/scss/main.scss') .pipe(sass().on('error', sass.logError)) .pipe(autoprefixer({ cascade: f
Привет! Давай настроим Gulp для работы с Sass. Похоже, у тебя уже есть базовая настройка, так что давай завершим её шаг за шагом. 1. Убедись, что у тебя установлен Gulp и необходимые плагины. Судя по тому, что ты указал, у тебя уже есть нужные пакеты. 2. Вот пример `gulpfile.js`, который ты можешь использовать: ```javascript // Подключаем функции gulp const { src, dest, watch, series } = require('gulp'); // Подключаем модули const sass = require('gulp-sass')(require('sass')); const autoprefixer = require('gulp-autoprefixer'); const cleanCSS = require('gulp-clean-css'); const rename = require('gulp-rename'); const plumber = require('gulp-plumber'); // Функция для обработки стилей function style() { return src('app/static/src/scss/main.scss') // Путь к твоему файлу main.scss .pipe(plumber()) // Обработка ошибок .pipe(sass().on('error', sass.logError)) // Компиляция Sass .pipe(autoprefixer({ cascade: false })) // Автопрефиксы .pipe(cleanCSS({ compatibility: 'ie8' })) // Минификация .pipe(rename({ suffix: '.min' })) // Переименование с суффиксом .min .pipe(dest('app/static/dist/css')); // Путь для сохранения скомпилированных CSS } // Функция для наблюдения за изменениями function watchFiles() { watch('app/static/src/scss/**/*.scss', style); // Наблюдение за всеми файлами .scss } // Экспортируем задачи exports.style = style; exports.watch = watchFiles; ``` 3. Теперь объясню, что делает каждая часть этого `gulpfile.js`: - **plumber**: Обрабатывает ошибки, чтобы Gulp не останавливался при возникновении ошибок. - **sass**: Компилирует файлы `.scss` в CSS. Если будет ошибка, она будет выведена в консоль. - **autoprefixer**: Добавляет префиксы для совместимости с различными браузерами. - **cleanCSS**: Минифицирует CSS файл. - **rename**: Добавляет суффикс `.min` к имени файла. - **dest**: Указывает, куда сохранить скомпилированный файл CSS. - **watch**: Наблюдает за изменениями в `.scss` файлах и запускает функцию `style` при каждом изменении. 4. После того как ты создал свой `gulpfile.js`, запусти Gulp: ```bash gulp watch ``` Это команда будет следить за изменениями в твоих Sass-файлах и автоматически компилировать их в CSS. Теперь ты должен иметь рабочую настройку Gulp для Sass. Если у тебя есть другие вопросы или что-то не работает, дай знать!
C использованием @use подход принципиально меняется. Область видимости каждого подключаемого так модуля ограничена им самим, и потребуется импортировать из него необходимые сущности в каждом файле использования.
Можете просто не обращать внимания на предупреждения. Или понизить версию sass (кажется до 1.77.8)
Ну или пишите стили по-новому
main.scss
@use 'base.scss'; @use 'banner.scss';
base.scss
$_color: red;
banner.scss
@use './base'; a{ color: base.$color; text-decoration: none; }
Может быть, в сети, где-то есть актуальная железобетонная инструкции для того, чтобы импорты, переменные, да и Sass нормально завелись?
почитайте первоисточник https://sass-lang.com/documentation/at-rules/use/