2014-03-13 14 views

回答

8

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

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

您可以轻松地将手表添加到浏览器提供的任何文件中,并通知LR服务器 - 即使它们没有通过吞吐(或咕噜声)处理。

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

  1. 如果你有独立的开发和生产构建(和我希望你这样做),然后用the gulp-embedlr plugin到script标签注入到你的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> 
    

    Obvisouly,你可以调整源域和端口如有必要,以匹配您的LR设置。

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

+0

感谢您解决我的困惑。我没有意识到live-reload运行一个单独的服务器,并没有真正提供我的文件。 我使用了带扩展名的gulp-livereload插件,它工作正常。 – SirTophamHatt

+0

感谢您的澄清!与firefox插件非常相称。 –