我该怎么做才能用 gulp 重新加载 symfony2 服务器?
How can I do to reload a symfony2 server with gulp?
我想自动重新加载我的服务器 symfony2 以实时查看我的 html 页面上的更改,当我对 gulp、
进行一些更改时
案例 A:
例如:
- 启动我的 symfony2 服务器
php app/console server:run
- 启动我的 gulp 文件
gulp
并部署专注于重新加载代码上的每个更改的任务监视
案例 B:
例如
- 为我的 gulp 文件
gulp
加注星标,在本例中,从我的 gulp 文件设置 symfony2 服务器,并在我调用命令 gulp 时启动它,然后触发watch 任务专注于重新定位代码上的每个更改。
测试 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 );
那我就不知道怎么设置了。
任何人都可以帮助我进行正确的设置或告诉我正确的方法吗?
经过一些尝试我得到了它,所以下面是当检测到一些变化时自动刷新我的页面的代码
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>
来源:Integrating Grunt/Gulp and Livereload to existing Apache server serving PHP/Zend
我想自动重新加载我的服务器 symfony2 以实时查看我的 html 页面上的更改,当我对 gulp、
进行一些更改时案例 A:
例如:
- 启动我的 symfony2 服务器
php app/console server:run
- 启动我的 gulp 文件
gulp
并部署专注于重新加载代码上的每个更改的任务监视
案例 B:
例如
- 为我的 gulp 文件
gulp
加注星标,在本例中,从我的 gulp 文件设置 symfony2 服务器,并在我调用命令 gulp 时启动它,然后触发watch 任务专注于重新定位代码上的每个更改。
测试 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 );
那我就不知道怎么设置了。
任何人都可以帮助我进行正确的设置或告诉我正确的方法吗?
经过一些尝试我得到了它,所以下面是当检测到一些变化时自动刷新我的页面的代码
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>
来源:Integrating Grunt/Gulp and Livereload to existing Apache server serving PHP/Zend