Gulp-webapp работает под управлением BrowserSync и PHP

Моя главная цель здесь состоит в том, чтобы адаптироватьГлоток-WebApp рабочий процесс разработки для запуска PHP.

В частности, я хочу иметь возможность использоватьgulp-php-connect снесколько базовых каталогов (для скомпилированного CSS из Sass) имаршруты (для зависимостей Бауэра), если это вообще возможно.

Я могу запустить PHP с Gulp, используяпроглатывать-подключения-PHP плагин, вот так:

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'
  });
});

Тем не менее, я хотел бы воспользоваться превосходной, но довольно запутанной архитектурой рабочих процессов разработки gulp-webapp, которая опирается на BrowserSync, компилятор Sass (компилируется в файл .css в папку .tmp для разработки), автоматический префикс и использует кучу других полезных плагинов.

Вот часть того, что я хотел бы адаптировать для использованияgulp-connect-php или любой другой 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]);
});

BrowserSync имеет параметр прокси, который позволяет мне запускать его сgulp-connect-php сервер, что довольно удивительно. Но мне нужноgulp-connect-php это использовать несколько базовых каталогов и маршрутов, какBrowserSync делает.

До сих пор я придумал это:

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]);
});

Временно исправитьнесколько базовых каталогов вопрос, я подправилstyles задача, поэтому он сохраняет скомпилированный .css в/app вместо.tmp/, Я бы предпочел, чтобы он был во временной папке, потому что мне не нужен этот скомпилированный файл .css, висящий там с моими файлами Sass.

Длямаршруты вопрос, я пытаюсь сказатьwiredep плагин, чтобы изменить путь, скажем, изbower_components/jquery/dist/jquery.js в../bower_components/jquery/dist/jquery.jsбез успеха.

Все, что я мог сделать, это вручную переименовать пути в index.php, и это все еще не работает. При бегеgulp serve Я получил:

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

... хотя я изменил путь в index.html на../bower_components/jquery/dist/jquery.js.

Я считаю, что это не работает, потому чтоgulp-connect-php Сервер не может видеть, что находится за пределами базовой папки.

Я пробую разные вещи, и хотя я был довольно расплывчат в названии этого потока, я думаю, что самым чистым решением было бы запустить несколько базовых каталогов и маршрутов сgulp-connect-php, но я не знаю, возможно ли это.

Ответы на вопрос(2)

Ваш ответ на вопрос