Задать вопрос
@Orsen6

Можно ли сделать так, чтобы GULP запускал index.php?

Мне нужно изменить слежение в Gulp, вместо файлов HTML он должен следить за .php.
const scss = require('gulp-sass')(require('sass'));
const { src, dest, watch, parallel } = require('gulp');
var concat = require('gulp-concat');
const autoprefixer = require('gulp-autoprefixer');
const uglify = require('gulp-uglify');
const browserSync = require('browser-sync').create();


function browsersync(){
  browserSync.init({
    server: {
        baseDir: "app"
    }
});
}


function styles() {
  return src('app/scss/style.scss')
    .pipe(scss({outputStyle: 'expanded'}))
    .pipe(concat('style.css'))
    .pipe(autoprefixer({
      overrideBrowserslist: ['last 10 versions'],
      grid: true
    }))
    .pipe(dest('app/css'))
    .pipe(browserSync.stream())
}


function scripts() {
  return src([
    'app/js/main.js'
  ])
  .pipe(concat('main.min.js'))
  .pipe(uglify())
  .pipe(dest('app/js'))
  .pipe(browserSync.stream())
}

function watching() {
  watch(['app/scss/**/*.scss'], styles);
  watch(['app/js/**/*.js', '!app/js/main.min.js'], scripts);
  watch(['app/**/*.html']).on('change', browserSync.reload);
}

exports.styles = styles;
exports.scripts = scripts;
exports.browsersync = browsersync;
exports.watching = watching;

exports.default = parallel(styles, scripts, browsersync, watching);
  • Вопрос задан
  • 203 просмотра
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 3
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
gulp отслеживает изменения по дате или размеру файла, увы php скрипт может содержать include и возвращать разные результаты, при этом дата изменения и размер файла останутся неизменными. да и вообще какой в этом смысл? ты можешь добавить вызов gulp в html'е создаваемом php или вызывать консольную команду в php коде
Ответ написан
Комментировать
@Froggyweb
gulp reload php -> https://stackoverflow.com/questions/23448256/gulp-...
если не понравится можно добавить browsersync reload php

но это все если файлы расположены локально, если на сервере- то никак....
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Ну допишите, делов-то...

function watching() {
  watch(['app/scss/**/*.scss'], styles);
  watch(['app/js/**/*.js', '!app/js/main.min.js'], scripts);
  // watch(['app/**/*.html']).on('change', browserSync.reload);
  watch(['app/**/*.php']).on('change', browserSync.reload);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы