Как я могу перезагрузить сервер symfony2 с помощью gulp?

Я хотел бы автоматически перезагружать свой сервер symfony2, чтобы видеть в реальном времени изменения на моих html-страницах, когда я делаю некоторые изменения с помощью gulp,

СЛУЧАЙ А:

Например:

  1. Запустите мой сервер symfony2 php app/console server:run
  2. Запустите мой файл gulp gulp и разверните отслеживание задач, которое фокусируется на перезагрузке каждого изменения в коде.

СЛУЧАЙ Б:

Например

  1. Пометьте мой файл gulp gulp, в этом случае настройте сервер symfony2 из моего файла gulp и запустите его, когда я вызову команду gulp, и запустите задачу наблюдения, которая фокусируется на обновлении каждого изменения в коде.

Тест 1:gulp-connect-php

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

gulp.task('connect', function() {
    connect.server();
});
/** here, please don't say me use assets, is a special requirement and is an example*/
gulp.task('productstemplates',function(){
   gulp.src( './appjs/products/templates/**/*.html')
    .pipe( gulp.dest( './web/products/') )
    .pipe( connect.reload() );
});
/** another task to watch the changes over css,less,html pages, php controllers ..*/
gulp.task('default', ['connect','another_task']);

Что здесь не работает, когда я запускаю эту простую конфигурацию, она не работает, потому что это развертывает сервер поверх текущей папки, тогда сервер symfony2 не развертывается, и я получаю следующее

127.0.0.1:55669 [404]: / - No such file or directory

Тест 2: gulp-connect

'use strict';

var gulp       = require('gulp');
var connect = require('gulp-connect');
var concat     = require('gulp-concat');
var uglify     = require('gulp-uglify');
var livereload = require('gulp-livereload');
var browserSync = require('browser-sync');
var reload = browserSync.reload;


gulp.task('appjs',function(){
    gulp.src( './appjs/app.js')
        .pipe( gulp.dest('./web/') );
});

gulp.task('app-index',function(){
    console.log("chaning something on index.html... ");
    gulp.src( './appjs/index.html')
        .pipe( gulp.dest( './web/') )
        .pipe( connect.reload() );

});

gulp.task('watch',function(){
  gulp.watch( ['./appjs/app.js'], ['appjs']);
  gulp.watch( ['./appjs/index.html'], ['app-index']);

});

var tasks = [ 'appjs','app-index','watch'];
gulp.task('default',tasks );

Тест 3: livereload

'use strict';

var gulp       = require('gulp');
var connect = require('gulp-connect');
var livereload = require('gulp-livereload');

gulp.task('appjs',function(){
    gulp.src( './appjs/app.js')
        .pipe( gulp.dest('./web/') );
});

gulp.task('app-index',function(){
    console.log('chaning something on index.html...');
    gulp.src( './appjs/index.html')
        .pipe( gulp.dest( './web/') )
        .pipe( livereload({ start: true }) );
});

gulp.task('watch',function(){
  livereload.listen();
  gulp.watch( ['./appjs/app.js'], ['appjs']);
  gulp.watch( ['./appjs/index.html'], ['app-index']);

});

var tasks = [ 'appjs','app-index','watch'];
gulp.task('default',tasks );

тогда я не знаю, как сделать правильную настройку.

любой орган может помочь мне сделать правильную настройку или показать мне правильный способ сделать это?


person Cristian    schedule 02.08.2015    source источник


Ответы (1)


После нескольких попыток я получил это, поэтому ниже приведен код для автоматического обновления моих страниц при обнаружении каких-либо изменений.

<сильный>1. Настройте файл gulp:

'use strict';

var gulp       = require('gulp');
var livereload = require('gulp-livereload');

gulp.task('appjs',function(){
    gulp.src( './appjs/app.js')
        .pipe( gulp.dest('./web/') );
});

gulp.task('app-index',function(){
    console.log('chaning something on index.html...');
    gulp.src( './appjs/index.html')
        .pipe( gulp.dest( './web/') )
        .pipe( livereload({ start: true }) );
});

gulp.task('watch',function(){
  livereload.listen();
  gulp.watch( ['./appjs/app.js'], ['appjs']);
  gulp.watch( ['./appjs/index.html'], ['app-index']);

});

var tasks = [ 'appjs','app-index','watch'];
gulp.task('default',tasks );

<сильный>2. на странице, которую вы хотите отслеживать изменения, вы должны указать это:

Следующий код — это режим разработки.

<script type="text/javascript">document.write('<script src="//localhost:35729/livereload.js?snipver=1" type="text/javascript"><\/script>')</script>

Источник: Интеграция Grunt/Gulp и Livereload на существующий сервер Apache, обслуживающий PHP/Zend

person Cristian    schedule 16.08.2015