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();
}
в коде ошибок не вижу.
почему закрыто? проблема никуда не делась.
@Alecto А если перенести подключение @import "_smart-grid";
из style.less
в _common.less
?
капец! заработало! спасибо.
получается в less нужно подключать import "_smart-grid"; не в одном месте, а в каждом файле, где будут использоваться миксины сетки?
Честно говоря, я как-то давно не заметил эту ветку, а сейчас закрыл, так как подумал, что по времени неактуально, полгода уже прошло.
У меня такой ситуации не возникало, обычно "import smart-grid.less" идёт в главном файле вроде styles.less, а файлы для отдельных страниц, модулей и т.п. подключаются ниже и отлично видят все примеси.
@ в import случайно в предыдущем комменте стёр, не туда нажал.
@dmitry-lavrik Есть мнение, что у @Alecto ошибка компиляции из-за return gulp.src('less/**/*.less')
. Также есть мнение, что при компиляции только style.less
, в котором указаны все необходимые импорты, ошибки компиляции, возможно, не будет.
@bezdupel , а ведь так и оно и есть!
Это в watch нужно указывать 'less/**/*.less', а в gulp.src нужны только те файлы, которые являются точками входа.
точно! спасибо огромное, теперь все заработало!
очень выручили.