【发布时间】:2015-12-07 01:20:50
【问题描述】:
所以我看到 elixir 不会自动使用 autoprefixer。这是我的 gulp 文件的外观:
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'
]);
});
但它仍然没有发出自动前缀。我没有大吃一惊的错误。当我运行gulp watch 时,它不会在我更新 .scss 文件时更新。我所有的 sass 文件都位于 resources/sass 下
感谢您的帮助!
我什至尝试过:
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');
【问题讨论】:
-
既然 Bootstrap 4 已经编译了 CSS,为什么不直接包含呢?否则,您可以使用
mix.sass()函数来代替创建新任务。 Laravel Elixir 会自动使用autoprefixer,除非你也禁用它。请参阅以下Gulpfile.js示例:gist.github.com/divspace/3f952754581babb21c5b -
我喜欢 Laravel 文档让我们独自一人。 Autoprefixer 上没有任何文档,但我已经在 #372 中要求了
标签: laravel gulp gulp-sass laravel-elixir autoprefixer