Nginx能为前端带来什么(分享)

一、利用Nginx和Host把自定义域名指向本地


移动互联网发展到今天,我们的前端开发工作内容已不仅仅局限于pc浏览器端的网页,现在很多应用都已经引入了新的开发模式:Hybrid APP 或者 H5页面开发

本地切页面mock数据开发阶段实时调试方法很简单:

1
2
3
1. 先确保你的手机和电脑连在同一个局域网内. 
2. 打开terminal, 然后输入 ipconfig,然后获取ip地址 192.168.XX.XX
3. 手机浏览器里输入这个地址: http://192.168.XX.XX:8080就可以访问到了

但是我们考虑一下以下场景
在测试环境联调接口的时候,虽说是和后端商量好了接口定义和返回数据,在上测试环境之前,本地开发的时候可以访问测试环境的数据就好了,方便我们自测
在线上环境如果出现bug,我们没有客户端的真实环境,比如测试环境没有正式环境的某些数据,很难将问题复现出来,也不可能拿线上代码直接去push调试,所以这种方案显然不合理。那么有什么办法能让我们修改完本地代码后,直接重载客户端的Webview,就能实时看到Native中最新效果了呢。

1.如何本地调取线上环境接口数据,没数据我们无法测试

下面我们就用nginx和host 把自定义域名指向本地
mac 安装nginx 并用Nginx和Host把自定义域名指向本地实现Https访问
mac openssl生成你需要的域名的证书并且设置信任证书

2.如何将本地代码实时同步到客户端内访问。
这个时候需要charles
移动端Charles抓取https包
首先需要手机连接到与当前电脑同一个wifi局域网,对该wifi网络进行高级设置-代理:
代理服务器主机名:使用PC的本机IP地址
代理服务器端口:使用Charles设置的Port值,默认是8888
如果不能访问开发页面可以参照移动端Charles抓取https包最后说的证书的问题

npm包里面http-proxy-middleware也是可以实现的