http-server介绍及使用场景
http-server 是前端常使用的 http 服务器,非常实用。采用http-server
本地运行前端项目。例如前端开发完成后,需要我们打包部署时,此时一般会生成一个 dist 文件夹,里面存放的是一些静态文件,当我们在编辑器里面直接运行这些静态文件时,很可能会出现 ”because its MIME type (‘text/html’) is not a supported stylesheet MIME type, and strict MIME checking is enabled.“
这类关于 MIME type 的错误,这些错误是因为静态文件访问限制导致的,此时就可以使用 http-server 来解决。
确保安装了node.js
在命令行输入命令node -v
以及npm -v
检查版本,确认是否安装成功。
安装http-server
npm install -g http-server
快速使用
命令行中进入目标文件夹(也就是需要启动服务的文件夹),输入如下命令:
http-server
简写
hs
本地服务器就启动起来了,会自动生成一个默认端口’8080’访问即可
指定端口使用
http-server [path] [options]
http-server -a 127.0.0.1 -p 8090
-P 代理接口
有时候前端需要在本地运行项目,html在本地,但是接口在服务器
在本地代码的根路径执行 hs -P http://www.XXX.com
注意:打开的网址要和服务器上的网址路径相同,否则hs服务器不能通过url找到页面,会把html页面代理到http://www.XXX.com
下,以至于访问的是线上的页面。
如果访问测试环境的接口,在本地设置host即可:
192.168.1.236 http://www.XXX.com
http-server 相关参数说明
参数 | 作用 |
---|---|
-p 或者 --port | 端口设置,默认是 8080 |
-a | 监听地址设置默认是 0.0.0.0 |
-d | 是否显示文件列表 默认true |
-i | 显示自动索引 默认true |
-g 或者 --gzip | 默认false ,当文件的gzip 版本存在且请求接受gzip 编码时,它将服务于./public/some-file.js.gz ,而不是./public/some-file.js |
-e 或者 --ext | 如果没有提供默认文件扩展名(默认为html ) |
-s 或者 --silent | 禁止控制台日志信息输出 |
–cors | 允许跨域资源共享 |
-o | 启动服务后打开默认浏览器 |
-c | 设置缓存cache-control max-age heade 存留时间(以秒为单位),示例:-c10 是10 秒,默认是3600 秒,如果要禁用缓存就使用-c-1 |
-U 或者 --utc | 使用 UTC 格式,在控制台输出时间信息 |
-P 或者 --proxy | 通过一个 url 地址,代理不能通过本地解析的资源 |
-S 或者 --ssl | 使用https 协议 |
-C 或者 --cert | ssl 证书文件的路径,默认是cert.pem |
-K 或者 --key | ssl 密匙文件路径 |
-h 或者 --help | 显示帮助 |