Laravel 拉维长生不老药和自动补液器

Laravel 拉维长生不老药和自动补液器,laravel,gulp,gulp-sass,laravel-elixir,autoprefixer,Laravel,Gulp,Gulp Sass,Laravel Elixir,Autoprefixer,所以我看到elixir不会自动使用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('re

所以我看到elixir不会自动使用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'
    ]);

});
但它仍然没有发布自动刷新器。我没有犯错误。当我运行
gulpwatch
时,它不会在我更新.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');

您的
grunfile.js
应该如下所示:

var elixir = require('laravel-elixir');

elixir(function(mix) {
  mix
    .copy('./public/vendor/bootstrap-4', './node_modules/bootstrap-4')
    .sass('app.scss')
    .scripts([
      './node_modules/bootstrap-4/dist/js/bootstrap.js'
      './node_modules/vue/dist/vue.js'
    ], './public/js/app.js')
    .version([
      'css/app.js',
      'js/app.css'
    ]);
});
@import "node_modules/bootstrap-4/scss/bootstrap";
public/build/css/app-**********.css
public/build/css/app.css.map
public/build/js/app-**********.js
public/build/js/app.js.map
public/css/app.css
public/css/app.map
public/js/app.js
public/js/app.map.js
您的
resources/assets/sass/app.scss
文件应如下所示:

var elixir = require('laravel-elixir');

elixir(function(mix) {
  mix
    .copy('./public/vendor/bootstrap-4', './node_modules/bootstrap-4')
    .sass('app.scss')
    .scripts([
      './node_modules/bootstrap-4/dist/js/bootstrap.js'
      './node_modules/vue/dist/vue.js'
    ], './public/js/app.js')
    .version([
      'css/app.js',
      'js/app.css'
    ]);
});
@import "node_modules/bootstrap-4/scss/bootstrap";
public/build/css/app-**********.css
public/build/css/app.css.map
public/build/js/app-**********.js
public/build/js/app.js.map
public/css/app.css
public/css/app.map
public/js/app.js
public/js/app.map.js
现在,您将拥有如下目录结构:

var elixir = require('laravel-elixir');

elixir(function(mix) {
  mix
    .copy('./public/vendor/bootstrap-4', './node_modules/bootstrap-4')
    .sass('app.scss')
    .scripts([
      './node_modules/bootstrap-4/dist/js/bootstrap.js'
      './node_modules/vue/dist/vue.js'
    ], './public/js/app.js')
    .version([
      'css/app.js',
      'js/app.css'
    ]);
});
@import "node_modules/bootstrap-4/scss/bootstrap";
public/build/css/app-**********.css
public/build/css/app.css.map
public/build/js/app-**********.js
public/build/js/app.js.map
public/css/app.css
public/css/app.map
public/js/app.js
public/js/app.map.js
星号将是
[a-z0-9]{10}
,但是您可以通过调用
{elixir('css/app.css')}
{elixir('js/app.js')}
来加载星号,尽管如此,Laravel的elixir确实通过Autoprefixer运行css,其中大部分是默认设置,如包的:

要自定义该配置,应使用以下命令:

elixir.config.css.autoprefix = {
    enabled: true, //default, this is only here so you know how to disable
    options: {
        cascade: true,
        browsers: ['last 2 versions', '> 1%']
    }
};

elixir(function(mix) {
    ...
});

使用此配置

var elixir = require('laravel-elixir');
config.css.autoprefix.options.browsers =  ['last 15 versions'] ;

elixir(function(mix) {
    mix.sass('index.scss');
});

既然Bootstrap4已经编译了CSS,为什么不包括它呢?否则,您可以使用
mix.sass()
函数来代替创建新任务。Laravel Elixir会自动使用
autoprefixer
,除非您也禁用它。参见下面的
Gulpfile.js
示例:我喜欢Laravel文档让我们独处的时候。在Autoprefixer上没有任何文档,但我已经问过了,你是在回答这个问题还是在试图教他正确的标记?