可以用这个做什么?
- 快速搭建一个临时的静态http服务 (用于打包之后的前端预览什么的)
- 做一个临时的代理服务器 (用于临时性解决请求跨域问题)
依赖 http-server 模块
全局安装
npm install -g http-server
启动
http-server -a 127.0.0.1 -p 7070
- -a 参数是监听地址
- -p 参数是监听端口
默认会将启动命令时, 所处的物理目录, 作为这个http服务的根目录
参数 | 说明 |
---|---|
-p 或者 --port | 端口设置,默认是 8080 |
-a | 监听地址设置默认是 0.0.0.0 |
-d | 是否显示文件列表 默认true |
--cors | 允许跨域资源共享 |
-o | 启动服务后打开默认浏览器 |
-c | 设置缓存cache-control max-age heade 存留时间(以秒为单位),示例:-c10 是10 秒,默认是3600 秒,如果要禁用缓存就使用-c-1 |
-P 或者 --proxy | 通过一个 url 地址,代理不能通过本地解析的资源 |
-S 或者 --ssl | 使用https 协议 |
-C 或者 --cert | ssl 证书文件的路径,默认是cert.pem |
-K 或者 --key | ssl 密匙文件路径 |
实际使用
临时搭建一个静态http服务
在终端/cmd
进入到需要作为根目录的那个目录, 在该目录执行: http-server
即可. 默认监听的地址是: 0.0.0.0
, 监听的端口是: 8080
临时搭建一个代理服务器
在终端/cmd
执行: http-server -p 1234 --proxy http://127.0.0.1:8080
当前开启了代理, 当http-server
发现客户端请求的地址不存在时, 会将该请求的URI转发给另外一个web服务器处理(这里指的是:http://127.0.0.1:8080
这个服务器),收到结果后,以本地服务器来响应给请求方,以达到proxy
代理的目的