# 1,前言

http-server 可以简单理解成一个透明代理。能够让我们方便的在本地对项目以及资源进行调试校验,而不必再起一个 Nginx 来进行代理。

# 2,安装

# 使用 npm
npm install --global http-server

# Mac可以使用brew
brew install http-server

1
2
3
4
5

# 3,用法

直接在任意目录下运行 http-server 就会启动一个本地监听,默认端口为 8080,静态代理,可以直接获取对应资源。如果 8080 端口被占用,会自动向后寻找未被占用的端口进行监听。

可用参数如下:

命令 描述 默认值
-p 或者 --port 要使用的端口。用于 -p 0 寻找开放端口,从 8080 开始。它也将从 process.env.PORT. 8080
-a 指定地址 0.0.0.0
-d 显示目录列表 true
-i 显示自动索引 true
-g 或者 --gzip 启用后,它将 ./public/some-file.js.gz 代替 ./public/some-file.js 文件的 gzip 版本存在并且请求接受 gzip 编码。如果还启用了 brotli,它将首先尝试为 brotli 提供服务。 false
-b 或者 --brotli 启用后,它将 ./public/some-file.js.br 代替 ./public/some-file.js 文件的 brotli 压缩版本存在并且请求接受 br 编码。如果还启用了 gzip,它将首先尝试为 brotli 提供服务。 false
-e 或者 --ext 如果没有提供默认文件扩展名 html
-s 或者 --silent 从输出中抑制日志消息
--cors Access-Control-Allow-Origin 通过 header 启用 CORS
-o [path] 启动服务器后打开浏览器窗口。(可选)提供要打开的 URL 路径。例如:-o /other/dir/
-c 为 cache-control max-age 标头设置缓存时间(以秒为单位),例如 -c10 10 秒。要禁用缓存,请使用 -c-1. 3600
-U 或者 --utc 在日志消息中使用 UTC 时间格式。
--log-ip 启用客户端 IP 地址的日志记录 false
-P 或者 --proxy 代理所有无法在本地解析到给定 url 的请求。例如:-P http://someurl.com (opens new window)
--proxy-options 使用嵌套的点状对象传递代理选项。 (opens new window)例如:--proxy-options.secure false
--username 启用认证指定用户名
--password 启用认证指定用户密码
-S, --tls 或者 --ssl 使用 TLS/SSL (HTTPS) 启用安全请求服务 false
-C 或者 --cert ssl 证书文件的路径 cert.pem
-K 或者 --key ssl 密钥文件的路径 key.pem
-r 或者 --robots 自动提供一个/robots.txt(内容默认为 User-agent: *\nDisallow: / false
--no-dotfiles 不显示点文件
--mimetypes 用于自定义 mimetype 定义的 .types 文件的路径
-h 或者 --help 帮助命令
-v 或者 --version 查看版本