gulpfile.js (Gulp версии 4.0.2), который я использую в oder для создания php-сервера, выглядит следующим образом:
Предполагается, что у вас есть папка с именем dist, где у вас есть индекс.php "file:
const gulp = require('gulp');
var php = require("gulp-connect-php");
var browsersync = require('browser-sync');
gulp.task('default', function() {
php.server({
// a standalone PHP server that browsersync connects to via proxy
port: 8000,
keepalive: true,
base: "dist"
}, function (){
browsersync({
proxy: '127.0.0.1:8000'
});
});
});
Надеюсь, это поможет вам в качестве справки.Я пишу только соответствующую часть моего файла, потому что кажется, что вы уже заставили работать все остальное.
Чтобы использовать функции вместо задачи (как в вашем коде), а также наблюдать за изменениями в файлах php, вы можете сделать следующее:
Предполагая, что вы хотите просмотреть файлы php, расположенные в папке / src, и изменить папку / dist при наличии изменений.
const browsersync = require("browser-sync");
const gulp = require("gulp");
const phpConnect = require('gulp-connect-php');
//Php connect
function connectsync() {
phpConnect.server({
// a standalone PHP server that browsersync connects to via proxy
port: 8000,
keepalive: true,
base: "dist"
}, function (){
browsersync({
proxy: '127.0.0.1:8000'
});
});
}
// BrowserSync Reload
function browserSyncReload(done) {
browsersync.reload();
done();
}
function php(){
return gulp.src("./src/**/*.php").pipe(gulp.dest("./dist"));
}
// Watch files
function watchFiles() {
gulp.watch("src/**/*.php", gulp.series(php, browserSyncReload));
}
const watch = gulp.parallel([watchFiles, connectsync]);
exports.default = watch;
Примечание: «browser-sync» работает только при наличии тега «body».