volkano
@volkano
Frontend разработчик

Как сделать импорт одного stylus файла в несколько других при помощи gulp?

Есть большая куча stylus файлов они должны компилиться в css, но не собираться в один, из за этого есть небольшая проблема я бы не хотел прописывать в каждом файле import variable.styl. А хотелось бы чтобы этот ипорт сделал галп при сборке, т.е. в каждый файл заимпортил variable.styl.
Код gulpfile.js
gulp.task('stylus', function () {
    gulp.src(['source/styl_variable/*.styl', 'source/Layout-Desktop/stylus/*.styl'])
      .pipe(stylus({
        import: 'variable.styl'
      }))
      .pipe(gulp.dest('build')
});

При обработке каждого файла появляется такая ошибка:
failed to locate @import file variable.styl
Есть какое либо решение этой задачи не прибегая к пропсыванию импорта в каждом styl файле?
  • Вопрос задан
  • 539 просмотров
Решения вопроса 1
volkano
@volkano Автор вопроса
Frontend разработчик
Так как вариант с concat у меня не вышел. Я пошел по другому пути. При помощи gulp-insert я добавил содержимое одного файла в другой. Код получился такой -
...//подключаем галп и все такое
var insert = require('gulp-insert');
var fs = require("fs")
gulp.task('stylus', function () {
  var variableContent = fs.readFileSync("source/styl_variable/variable.styl", "utf8");
  gulp.src('source/Layout-Desktop/stylus/*.styl')
  .pipe(insert.transform(function(contents, file) {
    return variableContent + '\n' + contents;       
  }))
  .pipe(gulp.dest('build'))

+ '\n' + было добавлено для того, чтобы между файлами был отступ.
Если у кого-то есть идеи как решить эту задачу лучше - посоветуйте, пожалуйста. Так как я перепробовал кучу плагинов и только такой способ дал результат.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
avito front
Есть какое либо решение этой задачи не прибегая к пропсыванию импорта в каждом styl файле?

Собирать в один))

Может какой-нибудь gulp-concat подойдёт?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы