Настроить Laravel Elixir LiveRload
Мне нужно выполнить после того, как mix.less ('app.less') автоматически перезагрузит страницу. Что бы не нажимать каждый раз F5 gulpfile.js
var elixir = require('laravel-elixir');
/*
|--------------------------------------------------------------------------
| Elixir Asset Management
|--------------------------------------------------------------------------
|
| Elixir provides a clean, fluent API for defining some basic Gulp tasks
| for your Laravel application. By default, we are compiling the Less
| file for our application, as well as publishing vendor resources.
|
*/
elixir(function(mix) {
mix.less('app.less');
mix.copy('resources/assets/vendor/bootstrap-switch/dist', 'public/packages/bootstrap-switch');
});
Можно ли использовать его как синхронизацию браузера?
4 ответа
Вы можете использовать browsersync() без установки чего-либо, если у вас есть Elixir 3.3 и Homestand
Выполните сначала: $ php artisan serve --host=0
На вашем gulpfile.js: mix.browserSync({прокси: 'localhost:8000'});
Боюсь, пока нет возможности использовать livereload с эликсиром. Я предлагаю вам полностью использовать эликсир и начать использовать всю свободу общих универсальных плагинов gulp.
Мой рецепт для живой перезагрузки с Livereload:
- Установите плагин Livereload для Chrome
- Включите его, нажав кнопку на панели инструментов Chrome
Установите gulp-модули:
npm установить gulp gulp-сантехник gulp-connect gulp-sass --save-dev
Создайте простой gulpfile (с livereload только для файлов *.scss), как показано ниже.
- бежать глотком
Пример gulpfile.js
'use strict';
var
gulp = require('gulp'),
plumber = require('gulp-plumber'),
connect = require('gulp-connect'),
sass = require('gulp-sass');
gulp.task('sass', function () {
return gulp.src('public/css/*.sass')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('public/css'));
});
gulp.task('watch', ['sass'], function () {
gulp.watch(['resources/assets/sass/*.scss'],
function (e) {
gulp.src(e.path)
.pipe(plumber())
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('public/css'))
;
}
);
gulp.watch(['public/css/*.css',],
function (e) {
gulp.src(e.path)
.pipe(connect.reload())
;
}
);
});
gulp.task('server', ['watch'], function () {
connect.server({
root: 'public',
livereload: true
});
});
gulp.task('default', ['server']);
Сначала установите плагин с именем laravel-elixir-livereload с помощью
npm install --save-dev laravel-elixir-livereload
После этого в вашем gulpfile.js напишите это:
var elixir = require('laravel-elixir');
require('laravel-elixir-livereload');
elixir( function(mix) {
mix.less('app.less')
.livereload();
});
Наконец запустить
gulp watch
Документация https://www.npmjs.com/package/laravel-elixir-livereload
Вы можете использовать плагин laravel-elixir-browsersync-official.
Ваш gulpfile.js должен выглядеть так:
const elixir = require('laravel-elixir');
elixir((mix) => {
mix.less('app.less')
.copy('resources/assets/vendor/bootstrap-switch/dist', 'public/packages/bootstrap-switch')
.browserSync({
proxy: 'your-project.url'
})
});