Gulp-webapp executando o BrowserSync e PHP

Meu principal objetivo aqui é adaptar ogulp-webapp fluxo de trabalho de desenvolvimento para executar o PHP.

Especificamente, eu quero poder usargulp-php-connect comvários diretórios base (para o CSS compilado do Sass) erotas (para dependências do Bower), se isso for possível.

Sou capaz de rodar PHP com Gulp usando ogulp-connect-php plugin, assim:

gulp.task('connect-php', function() {
  connectPHP.server({
    hostname: '0.0.0.0',
    bin: '/Applications/MAMP/bin/php/php5.5.3/bin/php',
    ini: '/Applications/MAMP/bin/php/php5.5.3/conf/php.ini',
    port: 8000,
    base: 'dev'
  });
});

No entanto, gostaria de aproveitar a arquitetura de fluxo de trabalho de desenvolvimento excelente, mas bastante complicada do gulp-webapp, que se baseia no compilador BrowserSync, Sass (compila em um arquivo .css em uma pasta .tmp, para desenvolvimento), no prefixo automático e usa vários outros plugins úteis.

Aqui está a parte que eu gostaria de adaptar para usargulp-connect-php ou qualquer outro PHP:

gulp.task('serve',  ['styles'],function () {
  browserSync({
    notify: false,
    port: 9000,
    server: {
      baseDir: ['.tmp', 'app'],
      routes: {
        '/bower_components': 'bower_components'
      }
    }
  });

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

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

O BrowserSync possui uma opção de proxy, que permite executá-lo comgulp-connect-php servidor, o que é incrível. Mas eu precisogulp-connect-php usar vários diretórios e rotas base, comoBrowserSync faz.

Até agora, eu vim com isso:

gulp.task('serve-php',  ['styles','connect-php'],function () {
  browserSync({
    proxy: "localhost:8000"
  });

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

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

Para corrigir temporariamente ovários diretórios base problema, eu ajustei ostyles tarefa para armazenar o .css compilado para/app ao invés de.tmp/. Eu preferiria tê-lo em uma pasta temporária, porque não preciso do arquivo .css compilado por aí com meus arquivos Sass.

Para orotas problema, estou tentando dizerwiredep plugin para alterar um caminho, digamos, debower_components/jquery/dist/jquery.js para../bower_components/jquery/dist/jquery.js, sem sucesso.

Tudo o que pude fazer foi renomear manualmente os caminhos no index.php, e ele ainda não funciona. Ao executargulp serve Eu recebo:

/bower_components/jquery/dist/modernizr.js - No such file or directory

... mesmo que eu mudei o caminho em index.html para../bower_components/jquery/dist/jquery.js.

Eu acredito que isso não funciona porque ogulp-connect-php o servidor não pode ver o que está fora da pasta base.

Estou tentando coisas diferentes e, apesar de ter sido bastante vago no título desse segmento, acho que a solução mais limpa seria executar vários diretórios e rotas base comgulp-connect-php, mas não sei se isso é possível.

questionAnswers(2)

yourAnswerToTheQuestion