我正在使用Zend框架进行PHP项目,该框架使用Apache在本地提供服务。是否有Grunt / Gulp的插件/配置,当我对phtml / php,CSS和JavaScript文件进行更改时,该插件/配置可让我使用此现有服务器并重新加载浏览器?

最佳答案

普通的live-reload插件可以正常工作。它通过运行单独的服务器来工作,该服务器仅报告更改-它不直接为您的代码提供服务。

如果您正在使用gulp,请遵循directions in the gulp-livereload README来设置和运行LR服务器。该插件将通知LR服务器文件已更改,并且LR服务器将通知您的浏览器更改已发生。

您可以轻松地将手表添加到提供给浏览器的任何文件上,并将它们通知LR服务器-即使它们不是由gulp(或grunt)处理的。

您可以通过三种选择在浏览器中触发更改通知。

  • 如果您有单独的开发和生产版本(希望如此),请使用the gulp-embedlr plugin将脚本标签注入(inject)HTML或PHP文件中。
  • 如果无法通过PHP设置使用该脚本,则可以使用PHP自己注入(inject)script标签,这样仅当在dev模式下运行时才注入(inject)。可以从embedlr插件获取代码,但是看起来像这样:
    <script type="text/javascript">document.write('<script src="//localhost:35729/livereload.js?snipver=1" type="text/javascript"><\/script>')</script>
    

    显然,您可以根据需要调整源域和端口以匹配LR设置。
  • 如果您无法执行此操作,没有运行单独的开发环境和生产环境的方法,或者只是不想以一种可在所有浏览器(包括移动设备)上运行的自动方式来处理此问题,则可以安装LiveReload浏览器插件。只需在浏览器的插件/附加商店/市场/其他地方查找即可。这要求您记住每次进行开发工作时都将其打开。
  • 10-04 21:51
    查看更多