Widziałem więc, że eliksir automatycznie nie używa autoprefiksu. Oto, jak wygląda mój plik z łykiem:Eliksir Laravel i autoprefixer
var Elixir = require('laravel-elixir');
var autoprefixer = require('gulp-autoprefixer');
var gulp = require('gulp');
Elixir.config.sourcemaps = false;
gulp.task('sass', function() {
return gulp.src('resources/sass/app.scss')
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(gulp.dest('public/css/app.css'));
});
Elixir(function(mix) {
// Copy bootstrap.min.js to node vendor directory until it becomes a node module
mix.copy('public/vendor/bootstrap-4', 'node_modules/bootstrap-4');
// Combine all vendor scripts
mix.scripts([
'bootstrap-4/dist/js/bootstrap.min.js',
'vue/dist/vue.min.js'
], 'public/js/vendor.js', 'node_modules');
// Combine all files into one single CSS file
mix.task('sass', 'resources/sass/**/*.scss');
// Get rid of cached version
mix.version([
'public/js/vendor.js',
'public/css/app.css'
]);
});
Ale to nie jest automatyczne wysyłanie autoprefiksu. Nie dostaję żadnych błędów. A kiedy uruchamiam gulp watch
, nie aktualizuje się, gdy aktualizuję plik .scss. Wszystkie moje pliki sass znajdują się pod zasobami/sass
Dzięki za pomoc!
Próbowałem nawet:
new Task('sass', function() {
return gulp.src('resources/sass/app.scss')
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(gulp.dest('public/css/app.css'));
})
.watch('resources/sass/**/*.scss');
Skoro Bootstrap 4 ma już skompilowany CSS, dlaczego po prostu go nie uwzględnić? W przeciwnym razie istnieje funkcja 'mix.sass()', której można użyć zamiast tworzyć nowe zadanie. Laravel Elixir automatycznie używa 'autoprefixer', chyba że wyłączysz go również. Zobacz następujący przykład 'Gulpfile.js': https://gist.github.com/divspace/3f952754581babb21c5b –
Uwielbiam, kiedy doktorzy Laravel zostawiają nas w spokoju. W programie Autoprefixer nie ma żadnego dokumentu, ale poprosiłem o to w [# 372] (https://github.com/laravel/elixir/issues/372) – igorsantos07