专栏首页Linyb极客之路简单的零配置命令行 http 服务器--http-server入门
原创

简单的零配置命令行 http 服务器--http-server入门

简介

http-server是一个简单的零配置命令行http服务器。 它足够强大,足以用于生产用途,但它既简单又易于破解,可用于测试,本地开发和学习

应用场景

1、局域网访问静态页面

访问本地计算机中的文件都是基于file协议,如果要开放我们的本地文件给局域网人员访问,是不能使用file协议。得用http协议或者ftp协议。而基于http协议的http-server就是一个不错的选择

2、处理页面跨域

当页面含有跨域的请求,此时可以利用http-server,使用命令

http-server -p 8080 -P https://abc.org
//-p 本地运行端口  -P 将所有无法在本地解析的请求代理到给定的URL进行处理

3、验证前端页面是否打包正常

现在的项目很多都前后端分离的架构,前端通常会打包dist文件丢到测试或者其他环境,我们可以利用http-server来跑下打包的dist目录内容,验证打包的内容是否正确

安装

安装的前置条件

因为http-server依赖node.js,因此在安装之前,请确保安装的环境已经装有node.js。可以通过命令

node -v

验证是否已经安装node.js

node.js安装验证.png

通过npm进行安装

npm install http-server -g

注: 如果在安装过程中,发现安装太慢,可以先配置淘宝镜像,再进行安装。配置镜像的命令如下

npm config set registry https://registry.npm.taobao.org

配置后可通过下面方式来验证是否成功

npm config get registry

用法

 http-server [path] [options]
 path就是你当前运行该命令下对应的某个文件夹名称

可用选项

  • -p或--port要使用的端口(默认为8080)
  • -a 要使用的地址(默认为0.0.0.0)
  • -d显示目录列表(默认为true)
  • -i显示autoIndex(默认为true)
  • -g或者--gzip当启用(默认为false)时,它将./public/some-file.js.gz代替./public/some-file.js当文件的gzip压缩版本存在且请求接受gzip编码时。
  • -e或者--ext如果没有提供默认文件扩展名(默认为html)
  • -s或者--silent从输出中抑制日志消息
  • --cors通过Access-Control-Allow-Origin标头启用CORS
  • -o 启动服务器后打开浏览器窗口
  • -c设置缓存控制max-age标头的缓存时间(以秒为单位),例如-c1010秒(默认为3600)。要禁用缓存,请使用-c-1。
  • -U或--utc在日志消息中使用UTC时间格式。
  • -P或者将--proxy所有无法在本地解析的请求代理到给定的URL。例如:-P http://someurl.com
  • -S或--ssl启用https。
  • -C或--certssl cert文件的路径(默认值:) cert.pem。
  • -K或--keyssl密钥文件的路径(默认值:) key.pem。
  • -r或--robots提供/robots.txt(其内容默认为User-agent: *\nDisallow: /)
  • -h或--help打印此列表并退出。

示例

进入目标文件夹,输入hs或者http-server命令,不过推荐使用如下命令

http-server -c-1

只输入http-server的话,更新了代码后,页面不会同步更新。

示例.png
示例.png
示例.png

总结

http-server可以做静态资源服务器,也可以做调试、测试的前端服务器。甚至可以用于实现前后端分离。还没有使用过的朋友,可以尝鲜下

官方文档

https://github.com/http-party/http-server

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Nginx配置详解

    Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。

    lyb-geek
  • Nginx代理功能与负载均衡详解

    Nginx的代理功能与负载均衡功能是最常被用到的,关于nginx的基本语法常识与配置已在上篇文章中有说明,这篇就开门见山,先描述一些关于代理功能的配置,再说明负...

    lyb-geek
  • nginx简易教程

    Nginx (engine x) 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

    lyb-geek
  • pyCharm最新2017激活码

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/...

    shaonbean
  • 浅谈信息收集的思路

    Christopher Hadnagy 社会工程-安全体系中的人性漏洞 社会工程 卷2:解读肢体语言 社会工程 防范钓鱼欺诈 卷3 信息安全技术管理 杰出全专家...

    周俊辉
  • Nginx 更多模块详解(十)

    ngx_http_auth_basic_module模块 详细说明请参考官网 地址链接

    咻一咻
  • Java SpringMVC 定时任务

    1、web.xml ? 2、spring-mvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns...

    用户1174387
  • 手把手教你搭建SpringMVC——最小化配置

    为什么需要Spring MVC 最开始接触网页的时候,是纯的html/css页面,那个时候还是用Dreamweaver来绘制页面。 随着网站开发的深入,开始学习...

    用户1154259
  • 【Spring实战】—— 15 Spring JDBC模板使用

      前一篇通过对传统的JDBC的使用操作,可以体会到使用的繁琐与复杂,套句话说,是用了20%作了真正的工作,80%作了重复的工作。 那么通过本篇,可以了解如...

    用户1154259
  • Spring框架+Struts2框架第一次整合

    1:Spring框架和Struts2框架如何整合???   Spring 负责对象创建   Struts2 用Action处理请求 2:Spring与Strut...

    别先生

扫码关注云+社区

领取腾讯云代金券