Интеграция Gulp и Bower в Zend Project

Вопрос в том, что я хотел бы использовать все преимущества бегуна задач и врезаться в мой существующий Zend-проект. Я не уверен, как я должен реструктурировать всю папку моего проекта. Моя текущая структура выглядит следующим образом:

   конфиг
   модуль
   продавец
   общественности
     CSS
     JS
       ЛИЭС
         JQuery
         начальная загрузка
       controller1
         jsController1.
         так далее
     index.php

Из этого ( Gulp и Bower - создание правильной структуры файлов) я знаю, что мне нужно создать отдельную папку, чтобы сохранить все библиотеки, установленные из bower, а затем мне нужно скопировать их с gulp в общую папку. Теперь, в зависимости от окружающей среды (производство или разработка), я хочу использовать минимизированные сценарии css и js. Так я должен создать 2 общие папки и в зависимости от среды изменить базовый путь для Zend? Или как лучше всего это сделать?

Кроме того, я хотел бы интегрировать браузер-синхронизацию в этот проект (причина livereload). Поэтому я хочу использовать gulp-connect для запуска php-сервера. Но тогда переменные окружения из apache не устанавливаются. Как я могу установить это? В соответствии с документацией я должен добавить newArgs (потому что мои параметры являются массивом) "APPLICATION_ENV=development". Но если добавить это после запятой, я получаю сообщение об ошибке: "Не удалось открыть входной файл: APPLICATION_ENV=development"

Мой нынешний недостаток:

var gulp = require('gulp'),
php  = require('gulp-connect-php');


gulp.task('php', function() {
php.server({
    configCallback: function _configCallback(type, collection) {
  // If you wish to leave one of the argument types alone, simply return the passed in collection. 
  if (type === php.OPTIONS_SPAWN_OBJ) { // As the constant suggests, collection is an Object. 
    // Lets add a custom env var. Good for injecting AWS_RDS config variables. 
    collection.env = Object.assign({
      APPLICATION_ENV: "development"
    }, process.env);

    return collection;
  } else if (type === php.OPTIONS_PHP_CLI_ARR) { // As the constant suggests, collection is an Array. 
            let newArgs = [
      '-e',                    // Generate extended information for debugger/profiler. 
      '-d', 'memory_limit=2G'   // Define INI entry, Up memory limit to 2G. 
      ,"APPLICATION_ENV=development"
    ];

    // Ensure our argument switches appear before the rest. 
    return newArgs.concat(collection);
  }
}
     ,
    base: 'public',
    port: 8010, 
    keepalive: true}, 
function _connected_callback() {
       console.log("PHP Development Server Connected.");
     });

});

0 ответов

Другие вопросы по тегам