dmitry-lavrik / smart-grid

SmartGrid project.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gulp-notify: [Error running Gulp] File: .. is undefined in file .less

Alecto opened this issue · comments

Привет!
Дмитрий, помоги пожалуйста разобраться.
Пользуюсь твоей сеткой на sass/scss - никаких проблем, решил попробовать less и получил ошибку.

сделал задачу для компиляции по аналогии с sass

gulp.task('less', function () {
  return gulp.src('less/**/*.less')
    .pipe(sourcemaps.init())
    .pipe(less().on("error", notify.onError(function (error) {
        return "File: " + error.message;
      })))
    .pipe(gcmq())
    .pipe(autoprefixer({
            browsers: ['last 5 versions', '> 1%'],
            cascade: true
        }))
    .pipe(notify({
      message: 'Compiled!',
      sound: false
    }))
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('.css'))
    .pipe(browserSync.reload({stream: true}));
});

подключил дополнительные файлы в style.less

@import "_smart-grid";
@import "_common";

компиляция выполняется, но постоянно появляется ошибка
[21:43:21] gulp-notify: [Error running Gulp] File: .row-flex is undefined in file D:\webProjects\test\test-sass\less\_common.less line no. 8

_common.less line no. 8:

.row {
  .row-flex();
}

в коде ошибок не вижу.

почему закрыто? проблема никуда не делась.

commented

@Alecto А если перенести подключение @import "_smart-grid"; из style.less в _common.less?

капец! заработало! спасибо.
получается в less нужно подключать import "_smart-grid"; не в одном месте, а в каждом файле, где будут использоваться миксины сетки?

Честно говоря, я как-то давно не заметил эту ветку, а сейчас закрыл, так как подумал, что по времени неактуально, полгода уже прошло.

У меня такой ситуации не возникало, обычно "import smart-grid.less" идёт в главном файле вроде styles.less, а файлы для отдельных страниц, модулей и т.п. подключаются ниже и отлично видят все примеси.

@ в import случайно в предыдущем комменте стёр, не туда нажал.

commented

@dmitry-lavrik Есть мнение, что у @Alecto ошибка компиляции из-за return gulp.src('less/**/*.less'). Также есть мнение, что при компиляции только style.less, в котором указаны все необходимые импорты, ошибки компиляции, возможно, не будет.

@bezdupel , а ведь так и оно и есть!

Это в watch нужно указывать 'less/**/*.less', а в gulp.src нужны только те файлы, которые являются точками входа.

точно! спасибо огромное, теперь все заработало!
очень выручили.