генератор — Настройка Yeoman Webapp с переполнением стека

Попытка настроить ваше веб-приложение на использование сервера PHP вместо HTML.

Я попытался следовать этому ответу на примере безуспешно.
Gulp-webapp работает под управлением BrowserSync и PHP

я добавил проглатывать-подключения-PHP в мой проект.

// Towards the top of my gulpfile, added:
const connect = require('gulp-connect-php');

// Added the following task below:

gulp.task('php-serve', ['styles', 'fonts'], function () {
connect.server({
port: 9001,
base: 'app',
open: false
});

var proxy = httpProxy.createProxyServer({});

browserSync({
notify: false,
port  : 9000,

server: {
baseDir   : ['.tmp', 'app'],
routes    : {
'/bower_components': 'bower_components'
},
middleware: function (req, res, next) {
var url = req.url;

if (!url.match(/^\/(styles|fonts|bower_components)\//)) {
proxy.web(req, res, { target: 'http://127.0.0.1:9001' });
} else {
next();
}
}
}
});

// watch for changes
gulp.watch([
'app/*.html',
'app/*.php',
'app/scripts/**/*.js',
'app/images/**/*',
'.tmp/fonts/**/*'
]).on('change', reload);

gulp.watch('app/styles/**/*.scss', ['styles']);
gulp.watch('app/fonts/**/*', ['fonts']);
gulp.watch('bower.json', ['wiredep', 'fonts']);
});

Ран gulp php-serve

PHP 5.5.36 Development Server started [etc…]
Listening on http://127.0.0.1:9001

Однако не без ошибок:

ReferenceError: httpProxy is not defined

Как это можно решить? Я бы даже не возражал против использования MAMP, который у меня уже работает на порту 8888

1

Решение

Кажется, я пропустил жизненно важную часть установки http-proxy, которую, как мне казалось, я установил раньше.

Вот идиотское руководство по тому, как заставить PHP работать с самым популярным йоменским генератором, веб-приложением-генератором. TobyG

устанавливать HTTP-прокси

npm install http-proxy --save

устанавливать проглатывать-подключения-PHP

npm install --save-dev gulp-connect-php

Добавьте эти две функции в начало gulpfile.js

const connect = require('gulp-connect-php');
const httpProxy = require('http-proxy');

Добавьте это дополнительное задание в gulpfile.js

gulp.task('php-serve', ['styles', 'fonts'], function () {
connect.server({
port: 9001,
base: 'app',
open: false
});

var proxy = httpProxy.createProxyServer({});

browserSync({
notify: false,
port  : 9000,
server: {
baseDir   : ['.tmp', 'app'],
routes    : {
'/bower_components': 'bower_components'
},
middleware: function (req, res, next) {
var url = req.url;

if (!url.match(/^\/(styles|fonts|bower_components)\//)) {
proxy.web(req, res, { target: 'http://127.0.0.1:9001' });
} else {
next();
}
}
}
});

// watch for changes
gulp.watch([
'app/*.html',
'app/*.php',
'app/scripts/**/*.js',
'app/images/**/*',
'.tmp/fonts/**/*'
]).on('change', reload);

gulp.watch('app/styles/**/*.scss', ['styles']);
gulp.watch('app/fonts/**/*', ['fonts']);
gulp.watch('bower.json', ['wiredep', 'fonts']);
});
3

Другие решения

Других решений пока нет …