nodejs快速搭建一个http服务

643 阅读2分钟

可以用这个做什么?

  • 快速搭建一个临时的静态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存留时间(以秒为单位),示例:-c1010秒,默认是3600秒,如果要禁用缓存就使用-c-1
-P 或者 --proxy通过一个 url地址,代理不能通过本地解析的资源
-S 或者 --ssl使用https协议
-C 或者 --certssl证书文件的路径,默认是cert.pem
-K 或者 --keyssl密匙文件路径

实际使用

临时搭建一个静态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代理的目的