最近一直在弄AI,没时间搞gva,所以有点忘记了,代码升级管它呢,全部重来一遍·~
一、备份保存
根据经验和个人喜好,我特别不喜欢在框架下把一个应用分散在module、api、service等等目录下,这种目录分配方案将把一个应用拆得七零八落,迁移特别麻烦。
简单粗暴的方案就是上来打个压缩包,管它用得到用不到。
1. 应用目录
好在gva的插件可以看作是相对独立的应用,因此在最初开发测试时,我就把项目当插件写plugin
目录下,且用“家族”标识目录加以区分,比如用标识:abc123
,那么在web
和server
下的plugin
中设置目录abc123
及具体应用名:
\server\plugin\abc123\test
\web\src\plugin\abc123\test
这样在备份和迁移时,只需要找到abc123
目录保存或恢复就行了。
2. 其它目录
当然,像我还开发了一系列tinymce
富文本的扩展(为防止搞混,这里不叫插件的插件),那么需要将tinymce
的plugins
目录下相对的内容进行保存迁移,比如:
\web\node_modules\tinymce\plugins\abc123_test
因为tinymce
中一个扩展就是一个目录,为了加以区分,给每个扩展都加上“家族”标识,用_
隔开,例abc123_test
。
原则:尽量把同一套功能的东西放在一个目录下。
3. 配置文件
\server\config.yaml
找到mysql
、db-list
等内容暂存。
db-list:
- disable: false
type: "mysql"
alias-name: "test1"
path: "127.0.0.1"
port: "3306"
config: "charset=utf8mb4&parseTime=True&loc=Local"
db-name: "abc123_app"
username: "user"
password: "pswd"
prefix: ""
singular: false
engine: ""
max-idle-conns: 10
max-open-conns: 100
log-mode: "error"
log-zap: false
- disable: true
type: "mysql"
alias-name: "test2"
path: "127.0.0.1"
port: "3306"
config: "charset=utf8mb4&parseTime=True&loc=Local"
db-name: "abc123_admin"
username: "user"
password: "pswd"
prefix: ""
singular: false
engine: ""
max-idle-conns: 10
max-open-conns: 100
log-mode: "error"
log-zap: false
mysql:
path: 127.0.0.1
port: "3306"
config: charset=utf8mb4&parseTime=True&loc=Local
db-name: abc123_admin
username: user
password: "pswd"
prefix: ""
singular: false
engine: ""
max-idle-conns: 10
max-open-conns: 100
log-mode: error
log-zap: false
\server\initialize\plugin.go
找到以下类似内容暂存。因为所有自开发内容都以插件形式出现,所以这里只需要暂存plugin.go
中的内容。
"github.com/flipped-aurora/gin-vue-admin/server/plugin/abc123/test"
PluginInit(PrivateGroup, abc123_test.CreateABC123AppPlug(""))
但如果你的应用并没有用插件方案,而是分散在各处,那么需要分别在\api
、\initialize
、\model
、\router
、\service
等目录中找到相关文件的对应内容进行暂存。
二、下载安装
1. 下载
到 https://github.com/flipped-aurora/gin-vue-admin 下载最新版,随便用zip还是git,本文仅讲全新恢复。
2. 恢复
- 将第一步中记录的
config.yaml
、plugin.go
的内容补充好; - 将
server
和web
的plugin中对应的abc123
恢复好; - 将
tinymce/plugins
等自开发内容恢复好(这里埋一个坑,默认情况下是没有tinymce目录的);
3. 启用
Golang学习日志 ━━ 部署Gin-Vue-Admin到windows系统并启用IIS服务,顺便学习如何设置IIS反向代理
开发环境下按照一般方法分别启用前后端。
- 后端
server/main.go
go run main.go
- 前端
web
- 先下载所有明确的所需内容
npm i
- 再启用前端
npm run serve
- 可能会提示如下
如果直接启用可能出现如图
说明md-editor-v3
、tinymce
等都没安装,那么这时在vscode
中按下ctrl+c
停止前端运行,进入下一步。
4. 补充恢复
因为已经配置部署好了数据库和自己开发的内容,所以能正常登录,并且菜单等都和原来一样。
- 后端出错
一般情况下,只需要在前面的步骤中,将开发代码恢复基本就没问题了。
- 后端自开发目录文件拷贝至原来的位置
- 在各个配置文件中恢复原来的调用代码
- 前端出错
当打开自开发的页面时,很可能提示某某插件不存在,比如上面启用后的截图中就提示的tinymce等插件不存在。
- 一般命令的安装方法
在web
位置打开终端输入命令:
npm i tinymce
这时tinymce将被下载到node_modules
目录中
但再次使用时可能仍旧会提示缺少某些插件。这说明还是缺少某些插件,于是根据提示安装该插件后运行。
npm i chinese-s2t
- 非一般命令的安装方法
有些插件光根据名字下载可能还是不行,比如vue版本有好几种,下载时可能提示无法安装。
案例:wangeditor插件安装失败,根据提示得知vue版本不对,于是找到官网:https://www.wangeditor.com/v5/installation.html
用官网方法重新安装后成功。
基本过程就是如此:看提示下载缺少的插件,安装不了根据提示去官网查下载方法。