Я хотел бы адаптировать этот код для обслуживания файлов PHP. У меня MAMP работает на локальном сервере, но я не могу понять, как этот код работает, чтобы внести необходимые изменения. Я знаю, что Node-сервер не будет интерпретировать файлы PHP, но я запутался в этой архитектуре, используя serve-static
а также serve-index
потому что, очевидно, я не могу просто использовать локальный путь к файлу внутри localhost MAMP для обслуживания этих файлов, верно? Мне также интересно, зачем ему нужны 2 порта (9000 и 35729).
gulp.task('connect', ['styles'], function () {
var serveStatic = require('serve-static');
var serveIndex = require('serve-index');
var app = require('connect')()
.use(require('connect-livereload')({port: 35729}))
.use(serveStatic('.tmp'))
.use(serveStatic('app'))
.use('/bower_components', serveStatic('bower_components'))
.use(serveIndex('app'));
require('http').createServer(app)
.listen(9000)
.on('listening', function () {
console.log('Started connect web server on http://localhost:9000');
});
});gulp.task('serve', ['connect', 'watch'], function () {
require('opn')('http://localhost:9000');
});
gulp.task('watch', ['connect'], function () {
$.livereload.listen();
// watch for changes
gulp.watch([
'app/*.php',
'.tmp/styles/**/*.css',
'app/scripts/**/*.js',
'app/images/**/*'
]).on('change', $.livereload.changed);
gulp.watch('app/styles/**/*.scss', ['styles']);
gulp.watch('bower.json', ['wiredep']);
});
Я в основном хочу использовать PHP для шаблонов (нижний колонтитул, заголовок и т. Д.) Для веб-сайта, так же, как этот человек размещен здесь.
У меня такое ощущение, что люди больше этого не делают, поэтому любые предложения по разработке интерфейса с использованием статических ресурсов и шаблонов (для последующей адаптации к WordPress или другой CMS на основе PHP) приветствуются.
РЕДАКТИРОВАТЬ
Пожалуйста прочтите это: Gulp-webapp работает под управлением BrowserSync и PHP
Я использую свою собственную установку PHP в качестве сервера, затем запускаю этот сервер с помощью плагина ‘gulp-connect-php’. Я еще не использовал его с XAMPP / MAMP, но, вероятно, вам просто нужно переместить ‘bin’ и ‘ini’ в PHP-установку XAMPP / MAMP. Но у меня нет решения, как вы можете подключить Gulp к вашей базе данных.
Плагин ‘gulp-connect-php’:
https://www.npmjs.com/package/gulp-connect-php
var gulp = require('gulp'),
livereload = require('gulp-livereload'),
connectPHP = require('gulp-connect-php');
gulp.task('connect', function() {
connectPHP.server({
hostname: '0.0.0.0',
bin: 'C:/php/php.exe',
ini: 'C:/php/php.ini',
port: 8000,
base: 'dev',
livereload: true
});
});
Только Gulp Connect может запустить Node-сервер (если я не ошибаюсь).
Порт 35729 предназначен для live-load javascript, который вам нужно поместить внизу ваших файлов PHP, HTML, где вы размещаете другие свои скрипты. Grunt также использует тот же код:
<script src="//localhost:35729/livereload.js"></script>
Порт 9000, вероятно, является определенным портом для сервера Gulp Connect.
Других решений пока нет …