如何在Python中实现LiveReloaded开发Web服务器

时间:2016-11-19 21:02:06

标签: python websocket webserver

我有点腌渍。我正在研究微小的静态站点生成器,我已经到了通过我的工具提供开发服务器有用的地步。所以我想:

  • 运行本地服务器
  • 有更新时更新文件
  • 处理完更新文件后自动刷新浏览器

但我不确定最好的方法是什么。我一直在寻找使用标准的Python Web服务器或Twisted用于服务器和Watchdog来更新文件,但我还不完全确定。此外,我不知道如何“刷新”页面。我已经看过Selenium驱动程序,但我认为使用它对我想要的东西来说有点过分,特别是因为它需要更多(非Python)依赖项。我也一直在阅读有关websockets的内容,但我并不完全确定如何让他们适应这个问题。

那么,您认为这样做的好方法是什么?或许这样的工具已经存在,我可以将其添加为我的项目的依赖...无论哪种方式,我都想听听你的想法。

1 个答案:

答案 0 :(得分:1)

为了刷新浏览器,我建议你检查一下websockets,然后在你的html页面底部注入一个js文件。 websocket实现可以是:

Simple Websocket Serverfor Python

Microsoft在VS中使用BrowserLink执行此操作:

Browser Link

要注入的js脚本可以是简单的:

<script type="text/javascript">
var socket = new Websocket(url to server);
socket.onmessage = function(e){
if(e.data == "reload"){
location.reload();
}
};
</script>