Local-web-server绝对值得一看!以下是自述的节选:
本地web服务器
一个精简的、模块化的web服务器,用于快速的全栈开发。
支持HTTP、HTTPS和HTTP2。
体积小,100%个性化。只加载和使用项目所需的行为。
附加一个自定义视图以个性化活动的可视化方式。
编程和命令行接口。
使用此工具:
构建任何类型的前端web应用程序(静态,动态,单页应用程序,渐进式web应用程序,React等)。
原型后端服务(REST API,微服务,websocket,服务器发送事件服务等)。
监控活动,分析性能,试验缓存策略等。
Local-web-server是一个lws发行版,它与一个有用的中间件“入门包”捆绑在一起。
剧情简介
这个包安装ws命令行工具(请参阅使用指南)。
静态网站
不带任何参数地运行ws将把当前目录作为一个静态网站托管。导航到服务器将呈现一个目录列表或您的index.html,如果该文件存在的话。
$ ws
Listening on http://mbp.local:8000, http://127.0.0.1:8000, http://192.168.0.100:8000
静态文件教程。
这个片段演示了静态托管和两个日志输出格式-开发和统计。
单页应用
为单页应用程序(一个带有客户端路由的应用程序,例如React或Angular应用程序)提供服务就像指定单页的名称一样简单:
$ ws --spa index.html
对于静态站点,对典型SPA路径(例如/user/1, /login)的请求将返回404 Not Found,因为该位置的文件不存在。然而,通过将index.html标记为SPA,你创建了以下规则:
如果一个静态文件被请求(例如/css/style.css),那么服务它,如果没有(例如/login),那么服务指定的SPA并处理路由客户端。
SPA教程。
URL重写和代理请求
另一个常见的用例是将某些请求转发到远程服务器。
下面的命令将博客帖子请求从任何以/posts/开头的路径代理到https://jsonplaceholder.typicode.com/posts/。例如,对/posts/1的请求将被代理到https://jsonplaceholder.typicode.com/posts/1。
$ ws --rewrite '/posts/(.*) -> https://jsonplaceholder.typicode.com/posts/$1'
重写教程。
这个片段演示了上面加上——static的用法。Extensions用于指定默认文件扩展名,——verbose用于监视活动。
HTTPS和HTTP2
对于HTTPS或HTTP2,分别传递——HTTPS或——HTTP2标志。请参阅wiki以获得进一步的配置选项和如何在浏览器中获得“绿色挂锁”的指南。
$ lws --http2
Listening at https://mba4.local:8000, https://127.0.0.1:8000, https://192.168.0.200:8000