http-server 是一个简单的零配置的命令行 http服务器,它足够强大便于生产和使用,用于本地测试和开发。
有时候我们打开一个文档使用file协议打开的时候,不能发送ajax请求,只能使用http协议才能请求资源,
具体的区别大家可以去参考这篇文档file协议与http协议及区别
所以此时我们需要在本地建立一个http服务,通过ip加端口号,来访问资源。
我一般的做法就是通过vscode的插件或者通过webstorm来打开,现在可以通过http-server来便捷的创建一个本地服务。
首先需要安装nodejs
http-server 链接
npmjs地址
https://www.npmjs.com/package/http-server
github
https://github.com/indexzero/http-server
全局安装
npm i http-server -g
1
全局安装便于使用
快速使用
http-server
1
输入上面命令,如果端口被占用了,它会修改端口,默认是 8080
简写
hs
1
修改端口
http-server
1
http-server [path] [options]
****是目录地址,可以省略,默认是cmd打开的路径地址
-a 参数是监听地址
-p 参数是监听端口
其他参数
参数 作用
-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 显示帮助