节点http-server不提供更新的html文件

时间:2016-07-10 18:58:25

标签: angularjs node.js httpserver

我正在构建一个带有角度(主要是ui-router)的前端Web应用程序,并通过节点http-server提供html文件来进行本地开发。我注意到,当我进行更新时,http-server不提供我的静态html文件,这对我的本地开发很有挑战性。

我使用npm install http-server -g全局安装了http-server,然后转到根项目文件夹并运行http-server启动它。默认为localhost:8080-两种似乎有效的方法是在每次更新后更改端口号或通过chrome隐身模式。

有没有办法正常使用http-server而无需更改端口或使用隐身模式?

如果相关,我使用的是MBP v.10.11.3

谢谢!

2 个答案:

答案 0 :(得分:10)

尝试打开开发人员工具并检查"禁用缓存" Chrome中的“网络”标签中的checkbock。

答案 1 :(得分:7)

  

似乎有效的两种方法是在每次更新后或通过Chrome隐身模式更改端口号。

您的问题是客户端缓存。隐身模式有自己的数据目录,与您的正常浏览无关。

幸运的是,http-server提供了一种设置缓存控制头的方法。

  

-c设置缓存控制max-age标头的缓存时间(以秒为单位),例如-c10持续10秒(默认为'3600')。要禁用缓存,请使用-c-1。

它在此处的文档中列出:https://github.com/indexzero/http-server

您可以在此处阅读HTTP缓存指令:https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=en