Soul网关-day09
Soul-plugin-sofa测试(四)
经过一番曲折,终于把问题弄明白了,确实是前端的代码出了问题。在这里感谢我的前端朋友还有艺哥~
具体事件经过大概是这样的,我请教我的朋友有关soul-dashboard的请求是如何构建的,因为觉得自己不太懂ts,所以想着两个人找可能会快一些。结果朋友很快发出一幅图片,说很容易找到怎么构建请求的啊,图片如下:
其中最关键是第二幅图,直接就可以看到将session中的token属性赋值给了Headers头上的“X-Access Token”,那就很奇怪了;我明明全项目搜索过,搜索不到这个关键词的,如下所示:
可以看到相同的位置代码并不相同,那问题就很明确了。是因为我dashboard中的代码并不是最新的,仔细想想我这个soul项目是2021年1月12日拉下来的,而且我pull过soul源码很多次,昨天感觉项目有问题的时候又pull了一次:
并且其实每次pull的时候都提示我,soul是最新版本。这就很奇怪了,因为我点进去看soul-dashboard,仍然是很旧的代码。我后来点进soul-dashboard以后,发现:soul-dashboard其实可以单独下载的,我单独下载了最新的项目以后,看到的soul-dashboard中的js脚本就是最新的了。
后来艺哥解释道:soul-dashboard其实是另外一个git项目。我才恍然大悟。
对于soul-dashboard,有两种与soul-admin集成的方式:
1: 在soul-dashboard目录下进入cmd页面
运行 npm install
运行 npm start
这个方法是将soul-dashboard作为一个前端项目单独起起来的,所以需要修改: soul-dashboard\src\index.ejs中<body>标签下
<div id="httpPath" style="display: none" th:text="<%='$'%>{domain}">${process.env.NODE_ENV === 'production' ? '' : 'http://localhost:9095'} </div>
http://localhost:9095这个属性,改成你本机soul-admin启动的 路径:端口,启动起来以后,在admin和bootstrap启动起来的条件下就可以正常的进行访问了。
2: 在soul-dashboard目录下进入cmd页面
运行 npm install
运行 npm run build
将生成在soul-dashboard\dist下的几个文件,拷贝到soul-admin控制台下的resource/static中(为了项目的简洁,最好把原来这个目录下的文件删除。虽然说只要覆盖了index.html应该就不会有影响,但多出那么一块无用的js和css文件总觉得有些令人迷惑)
以上其实算是昨天晚上的内容了,但没及时更新。今天感觉为什么我直接pull,就不能把soul下的dashboard拉取下来。开始觉得soul-dashboard类似于软链接一样的东西内嵌在soul项目中,但想想不应该,软链接不会出现我遇到的这种问题。
后来搜索了一下,发现git上有一个叫**git-子模块**的东西。发现这应该就是我要找的,过程比较曲折,我就直接把答案发出来吧:
git pull 命令会递归地抓取子模块的更改,然而,它不会更新子模块。 为了完成更新,我们需要运行
git submodule update/git submodule update --init --recursive
在soul目录下运行了上述指令,就可以看到我们的soul-dabshboard中的脚本内容就是最新的了(当然,也可以把原来的项目重新删了,再重新clone一份,这样是最万无一失的…我感觉应该也只有我遇到了这种问题…但还是分享一下…)。
吃了不懂git的亏…
过程比较曲折,但还是学到了一些新知识,贴下成果吧:
可以看到,现在终于有token了…后续的研究应该可以快速推进下去了,进度有些落后了…
token为null的问题就到此完结了~又水了一篇文章…