我们先看两个需求场景
(1)项目开发时,在自己的机器或者公司内部的开发服务器上进行开发,有阶段性成果以后,需要让客户体验
如何让客户访问呢?可以把项目部署到外网,但比较麻烦,需要弄一台外网服务器,还要搭建环境,然后部署,每次让客户体验时,都需要重新部署
如果能让客户直接访问本地项目就好了,有问题时可以快速修改,客户很快就可以看到效果,体验好
(2)现在与第三方的集成开发越来越多,例如微信、QQ、微博、支付等等,很多情况都需要提供外网URL,供第三方服务进行回调,在外网服务器上开发的话很不方便
如果能在本地开发,第三方服务也能回调到本地应用上就好了
此类需求的共同特点都是让本地应用可以在互联网上访问到
Ngrok
Ngrok 就是这样一个利器,可以把我们本地应用暴露到互联网上
Ngrok 的思路也很简单,在本地运行 Ngrok 后,会在本地应用和 Ngrok官网之间建立一个代理通道,并分配一个随机的二级域名,这样,通过这个域名就可以连接到本地应用了
下面是Ngrok官网上的示意图
实际体验
(1)启动一个本地应用,效果如下
(2)启动 Ngrok
执行启动命令,在参数中指定要映射的本地端口
ngrok http 3000
启动后会给出生成的二级域名
(3)访问外网域名
访问上面的二级域名,就可以看到本地应用了
安装
Ngrok 的安装非常简单,不需要任何依赖环境,下载解压后,就是 ngrok 的执行文件
Ngrok 官网地址 https://ngrok.com/