本地启动HTTP静态资源服务器
2023-3-7
| 2023-9-21
0  |  阅读时长 0 分钟
type
status
date
summary
tags
category
icon
前端开发一般都是使用React、Vue等框架,这些框架都会有配套的打包构建工具,本地开发都会有devServer,方便我们通过url在浏览器中查看页面效果。正常情况build之后的产物需要部署到一个服务器才可以访问,但是我们有时候需要本地查看构建的产物,需要怎么办呢?
 
本文会介绍4种方式来实现本地开启一个HTTP静态服务器:
  1. 安装Nginx
  1. 使用NPM模块
  1. 使用Python开启
  1. 使用LightProxy 或者Charles等代理工具
 

1. 使用Nginx代理

Nginx是一个优秀的反向代理工具,一般可以用于转发请求,常见于各大公司的的网关层代理。使用Nginx作为一个本地静态资源服务器,其实有点大材小用,但确实挺好用的,也非常的简单。
 
  1. 首先安装一个Nginx服务器,Mac上可以使用brew 安装( brew install nginx ),或者官网下载安装;
  1. 然后修改配置文件,Mac上默认配置路径为 /usr/local/etc/nginx/nginx.conf ,可以通过 nginx -h 查看
  1. 添加配置到文件中:
然后启动 nginx 或者重新reload一下配置 nginx -s reload 就可以通过 http://localhost:8080 访问页面了。
 
如果想配置自定义域名,需要首先修改 /etc/hosts 文件,添加一个记录,例如 dev.com
notion image

2. 使用NPM模块

有挺多Npm的模块支持启动一个本地服务,最热门的可能就是 http-server了吧,进入构建的目录,使用下面命令启动一个静态资源服务器:
然后就可以浏览器访问 http://127.0.0.1:8080 当然也支持配置一些参数,例如制定静态资源目录,端口等:
也还有一些其他的Npm也支持类似的功能,例如 lite-server,原理大致都差不多,就不多说了。
 

3. 使用Python

Python是我最喜欢用的一个方式,因为Mac笔记本自带安装了Python,之前MacOS默认安装的是Python2,启动命令为:
现如今都默认安装Python3了,命令也更加规范了:
然后就可愉快的在浏览器访问页面了,原生支持,就是这么简单。使用多还有一个原因是Python用的少,输入Python3可以快速找到这个启动服务的命令了。
 

4. 使用LightProxy 或者 Charles等代理工具

前三种都是本地启动服务一个服务监听对应的端口,代理工具走了一条不同的路,首先需要设置系统的网络配置,将代理都转发对代理工具,这一步大多数情况都是静默的,打开代理工具就是自动给你设置好,关闭代理工具默认也会移除这个配置。 然后代理工具根据规则进行流量的转发或者拦截。
 
所有利用这个特性也可以充当静态资源服务器,真的特定路径进行拦截,然后映射到本地文件,一般情况下单个文件用得多点,多个文件配置比较复杂,涉及正则匹配,不是很建议。附一个LightProxy的写法demo:
notion image
 
如果你是开发B端项目,墙裂推荐使用LightProxy,B端项目大多数都是需要登录态的,这个可以配置域名转发,可以很方便的将测试环境域名代理到本地地址,同时支持快捷关闭代理,甚是方便。
 
技术分享
  • 开发经验
  • 前端
  • 在Svelte使用SVG图标注册US的Stripe账号
    目录