将Grunt / Gulp和Livereload集成到现有的服务于PHP / Zend的Apache服务器上

我正在使用Zend框架来处理一个PHP项目,这个框架使用Apache在本地服务。 有没有Grunt / Gulp的插件/configuration,允许我使用这个现有的服务器,并重新加载我的浏览器,只要对我的phtml / php,CSS和JavaScript文件进行更改?

正常的live-reload插件将工作得很好。 它通过运行一个单独的服务器来工作,只需报告更改 – 它不直接提供您的代码。

如果您正在使用gulp,请按照gulp-livereload自述文件中的说明设置和运行LR服务器。 该插件将通知LR服务器文件已经改变,LR服务器将通知您的浏览器发生了更改。

您可以轻松地将手表添加到浏览器提供的任何文件中,并通知LR服务器 – 即使这些服务器不是通过吞吐(或咕噜)处理。

在浏览器中触发更改通知有三种选择。

  1. 如果你有独立的开发和生产版本(我希望你可以这样做),那么使用gulp-embedlr插件将脚本标签注入到HTML或PHP文件中。

  2. 如果你不能使用你的PHP设置,那么你可以使用PHP自己注入脚本标签,这样只有在开发模式下运行才能注入。 代码可以从embedlr插件获得,但是看起来像这样:

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

    显然,如果有必要,你可以调整源域和端口来匹配你的LR设置。

  3. 如果你不能做到这一点,就没有办法运行独立的开发和生产环境,或者只是不希望在所有浏览器(包括移动设备)上以自动的方式进行处理,你可以安装LiveReload浏览器插入。 只需在浏览器的插件/附加存储/市场/任何地方查找它。 这要求您每次开发工作时都要记得打开它。