最近一直在弄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

 用官网方法重新安装后成功。

基本过程就是如此:看提示下载缺少的插件,安装不了根据提示去官网查下载方法。




















