【问题标题】:Run and refresh PHP server using Gulp使用 Gulp 运行和刷新 PHP 服务器
【发布时间】:2015-03-22 04:19:35
【问题描述】:

如何使用 gulp 在使用 PHP 的现有主机和端口上运行和刷新服务器? Apache/PHP 运行在 http://localhost:80

gulp.task('connect', function () {
    var serveStatic = require('serve-static');
    var serveIndex = require('serve-index');
    var app = require('connect')()
            .use(require('connect-livereload')({port: 35729}))
            .use(serveStatic('dist'))
            .use(serveStatic('app'))
            .use(serveIndex('app'));

    require('http').createServer(app)
            .listen(8888)
            .on('listening', function () {
                console.log('Web server start on port 8888');
            });
});

gulp.task('serve', ['connect'], function () {
    require('opn')('http://localhost:8888');
});

此代码运行良好。如果我更改某些内容(如 js、css 等),浏览器就会刷新。这如果用于端口 8888。但是当我想使用运行 PHP 的 Web 服务器时,在我的情况下是端口 80 - 它失败了。 我想在更改一些样式或 javascript 等后自动刷新页面。

谢谢

【问题讨论】:

    标签: php refresh reload gulp server


    【解决方案1】:

    使用gulp-livereload 重新加载刚刚与 livereload 浏览器扩展连接的资产文件。 https://www.npmjs.com/package/gulp-livereload

    gulp reload 任务不需要实际管理服务器,只需访问浏览器即可。

    【讨论】:

    • 这个我已经试过了,这个不行。我在端口 80 上运行 PHP,因此浏览器必须在 localhost:80 上打开,而不是在 localhost:8000 或其他经常使用的端口,如 8888 或 9000。如果您在端口 80 上尝试,那么这个 livereload(也是 Google Chrome 的扩展)不起作用。你设置了什么让这个 livereload 在端口 80 上与 PHP 一起工作?谢谢
    • 我忘了提到,如果我尝试在端口 80 监听,我得到错误 EADDRINUSE - 这是因为这个端口已经使用了我的网络服务器(Apache 和 PHP)。
    • Livereload 不会影响任何端口。如果你使用这个,它将与 php 一起工作:chrome.google.com/webstore/detail/livereload/… 和这个:github.com/vohof/gulp-livereload
    • 是的,它适用于 Google Chrome 的 livereload 扩展。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2015-01-30
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多