青训营大项目本地搭建和测试 | 青训营笔记

208 阅读3分钟

这是我参与「第五届青训营」伴学笔记创作活动的第1天。

介绍

本文记录了将青训营demo复制到个人电脑(windows系统)搭建运行以及app用模拟器和手机两种方式访问项目的方法

服务端搭建

首先,需要有golang的开发环境,这里我用的是goland。将github上的代码下载到本机然后打开项目。下面是我记录的搭建时遇到的一些坑

import导入的包报红问题

Alt+Enter键看可以尝试自动导入,但是有时候也会失败。

  1. service和controller

比如下面这个引入

"github.com/RaymondCode/simple-demo/controller"

其实从项目结构可以看出,有service和controller两个本地文件夹,里面存放着相关代码,所以其实是本地的包,因此用go get 会说找不到。
解决方法:找到项目中的go.mod文件,用记事本或者goland打开,第一行会看到这段

module github.com/RaymondCode/simple

将module后的内容替换成自己的项目名(import报红部分一同替换),保存后重新打开。
2. Alt+Enter键自动导入失败,提示连接失败
可能是代理的问题,首先打开cmd,输入:go env 查看go环境,找到GOPROXY的值。如果也没值的话就在cmd中输入go env -w GOPROXY=goproxy.cn设置代理。然后,在goland左上方的 file->settings->GO->GO Modules(vgo) 看Proxy的值,如果是空的话就不要动了(按照默认设置,就是我们刚才在cmd中设置的代理)

判断成功运行

mian.go文件中的main函数出现了绿色小箭头。说明可以运行了,正常运行的话终端最后会显示 Listening and serving HTTP on :8080

APP访问服务

首先,保持服务端运行,下载并安装app,有两种方法,用模拟器或者手机

安卓模拟器运行APP

在mian.go文件中将r.Run()改成r.Run(":xxxx"),xxxx是自定义数字,比如8081。重新运行服务端就是监听这个端口了。
APP装上模拟器之后,先测试一下连接。 打开模拟器里的浏览器输入http://10.0.2.2:xxxx/feed看看有没有回应。如果看到一大段字符串说明成功了。然后打开APP,双击右下角我的按钮,设置BaseUrl为http://10.0.2.2:xxxx
10.0.2.2在模拟器上是一个特殊IP,表示自己的主机

手机运行APP

个人感觉没有用模拟器顺手,这里简要说明一下:
首先,在自己电脑的设置中找到防火墙,将自己项目设置的端口开放(不然会被防火墙拦住),第二步用手机打开热点,电脑连接这个热点。最后,电脑打开cmd,查询电脑Ip(Ipv4),然后把APP的BaseUrl设置成这个Ip。

总结

demo成功运行起来啦,但是由于还没有完成内部逻辑,所以APP访问的都是默认内容,后续我会继续完善后端逻辑的。