首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用gulp重新加载symfony2服务器?

如何用gulp重新加载symfony2服务器?
EN

Stack Overflow用户
提问于 2015-08-02 03:38:16
回答 1查看 1.2K关注 0票数 1

当我用gulp做一些更改时,我想自动重新加载我的服务器symfony2,以实时查看html页面上的变化,

案例A:

例如:

  1. 启动我的symfony2服务器php app/console server:run
  2. 启动gulp文件gulp并部署任务监视,重点是重新加载代码中的每一个更改

案例B:

例如

  1. 星光我的gulp文件gulp,在本例中从gulp文件中设置symfony2服务器,并在调用命令gulp时启动它,并触发监视任务,该任务侧重于重新记录代码上的每一项更改。

测试1:gulp-connect-php

代码语言:javascript
复制
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服务器就不会被部署,我得到以下信息

代码语言:javascript
复制
127.0.0.1:55669 [404]: / - No such file or directory

测试2: gulp-connect

代码语言:javascript
复制
'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

代码语言:javascript
复制
'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 );

那我就不知道怎么做严格的设置了。

有谁能帮我做正确的设置或者给我一个正确的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-16 00:18:59

我得到了一些补偿,所以下面是在检测到某些更改时自动刷新页面的代码

1.设置您的gulp文件:

代码语言:javascript
复制
'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.在您想要进行更改监视的页面中,必须将其放在:

下面的代码是dev模式。

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

来源:Integrating Grunt/Gulp and Livereload to existing Apache server serving PHP/Zend

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31768329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档