运行在WSL下的极简抖音项目调试环境搭建 | 青训营笔记

254 阅读2分钟

这是我参与「第五届青训营」伴学笔记的第7天
阅前提示:这本来应该是一个非常快速的过程,但是因为我对wsl和网络通信的了解太少,导致踩了一个大坑,花费了很多时间,这篇文章就用来记录一下这个大坑,希望可以帮助到大家解决一点问题~

前期工作

clone Demo

demo在仓库里的位置:github.com/RaymondCode…

在自己手机下载并安装app

极简抖音App

编译项目

大家根据自己用的是vscode还是goland自行编译

网络配置

查询本地ip地址

第一种方式

打开cmd,输入ipconfig就可以查询得到

image.png 如图,可以看到ip地址为 192.168.1.15
如果大家不太肯定究竟哪个才是正确的ip地址,也可以用下面这个方法

第二种方式

image.png

右键这个网络标志,然后点属性

image.png
往下扒拉,也可以看到ip地址啦

image.png
然后就是这里我踩了一个超大的坑!
查了很多资料都说,这里直接在手机端将原本localhost改成上面查到的这个ip就可以大功告成。
但是因为我们的项目运行在wsl下,而wsl和windows的ip不是同一个! 所以ip1(wsl的)无法ping通与ip2(windows的)处于同一网段下的ip,这种情况下,我们需要映射一下ip1和ip2!

获取wsl的ip

打开wsl,输入ifconfig,可以看到wsl的ip地址为172.20.104.70

image.png

映射

管理员身份在powershell输入以下指令(注:电脑重启一次会没有)

# 删除当前所有映射
netsh interface portproxy reset

# 映射windows 192.168.10.33的8080端口到WS2的ip的8080端口:
netsh interface portproxy add v4tov4 listenaddress=192.168.1.15 listenport=8080 connectaddress=172.20.104.70 connectport=8080

# 设置Windows的防火墙,允许监听端口的对内连接
netsh advfirewall firewall add rule name="Open Port 8080 for WSL2"dir=in action=allow protocol=TCP localport=8080

# 显示当前所有映射关系 
netsh interface portproxy show all

手机端配置

手机打开抖声app,点两下“我的”,会出现高级设置,然后输入http://ip(你自己的ip):port(你选择监听并部署的端口), 如下图:

image.png 这样就大功告成啦~