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

Sir*_*att 4 javascript php apache gruntjs gulp

我正在使用Zend框架开发一个PHP项目,该框架使用Apache在本地提供.是否有Grunt/Gulp的插件/配置允许我使用这个现有服务器并在我的phtml/php,CSS和JavaScript文件发生变化时重新加载我的浏览器?

Ove*_*ous 8

普通live-reload插件可以正常工作.它的工作原理是运行一个仅报告更改的单独服务器 - 它不直接为您的代码提供服务.

如果使用的是一饮而尽,你遵循的方向gulp-livereloadREADME设置和运行LR服务器.该插件将通知LR服务器文件已更改,LR服务器将通知您的浏览器已发生更改.

您可以轻松地将监视添加到提供给浏览器的任何文件上,并通知LR服务器 - 即使它们没有被gulp(或grunt)处理.

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

  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>
    
    Run Code Online (Sandbox Code Playgroud)

    显然,如果需要,您可以调整源域和端口以匹配您的LR设置.

  3. 如果你不能这样做,没有办法运行单独的开发和生产环境,或者只是不希望以自动方式处理所有浏览器(包括移动设备),你可以安装LiveReload浏览器插入.只需在浏览器的插件/附加商店/市场/其他内容中查找它.这要求您记住每次进行开发工作时都要打开它.