86

go iris框架和vue框架前后端分离开发实战总结

 4 years ago
source link: https://www.tuicool.com/articles/YbARb2a
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

近期,我们在一个新的项目中使用了go和vue开发了一个前后端分离的web系统,让线下机构通过h5进行排课,管理机构老师和学生等,本人用于项目总结时,让参加的朋友了解一些有关的前置知识。

何为前后端分离?

随着近几年移动互联网的兴起,特别是前端领域的html5,CSS3,ECMAScript5和6(也就是javaScript语言的规范)的制定并被业界支持,前后端 分离这种技术架构越来越流行,笔者近3年 参与的实际项目,基本上都是 采用前后端分离的开发模式。

那么,什么是前后端分离呢?去网上一搜,答案挺多的,都没有绝对的对错,只是站在不同的角度去定义而已。我比较认可的定义如下:在技术架构上,前后端只通过Restful风格(最佳实践)的API以JSON 数据格式(使用最多)进行交互,而不是组织或岗位的分离。

关于go

Go(又称 Golang)是一个 Google 于2007年9月开始设计,并于2009年开源的编程语言,静态强类型、编译型、并发型,并具有垃圾回收功能。

语法与 C 相近,但对于变量的声明有所不同,它简洁、清晰而高效。对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。

关于iris框架

Iris是社区驱动的Go语言开源Web 框架,提供的api都是极简风格,很容易上手,支持中间件扩展,并有丰富的中间件生态库。

整个iris框架共三层结构:

  • 应用的配置和注册信息:如路由、中间件、日志。
  • 中间的服务端实例:从iris实例拿配置信息进行配置。
  • 底层net/http包:负责TCP连接建立、监听接受,请求收取并解析,缓冲区管理,写入响应。

关于vuejs

Vuejs是一套用于构建用户界面的渐进式JavaScript框架,Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

参与已有vue项目的开发

体验应用

下载代码

git clone http://gitlab.weilaicheng.com/Front-end/xxx.git

安装nodejs

brew install node

安装依赖

npm install

启动项目

  • 连接测试服务器接口
npm run test
  • 连接线上服务器接口
npm run prod

部署到测试环境

  • 本地打包并提交代码到gitlab
npm run td
  • 使用pm2本地一键部署(需要配置ssh本地免密登录云服务器)
npm run pm2

参与已有 go iris项目开发

安装环境(参考)

  • 下载Mac系统的安装包
    https://studygolang.com/dl 选择所用操作系统对应最新的安装包
  • 安装go
    Mac 可以通过 brew install go 直接安装,也可通过上一步下载的安装包点击一步步安装
  • 配置环境变量
vi ~/.zshrc // 若用的的是bash则编辑 .bashrc文件
 // 打开配置文件后输入如下内容
export GO111MODULE=auto // 启用mod依赖管理 
export GOPROXY=https://goproxy.io // 配置代理提高下载速度
export PATH=$PATH:/Users/xian2/go/bin  // 配置GOPATH
// 提交生效
source ~/.zshrc
  • 安装mysql 和 redis

    brew install 即可,或者去对应官网下载安装。

参与开发

  • 下载源码
git clone [email protected]:kpl/yd_user_zeus.git
  • 新增配置
cd yd_user_zeus
mkdir conf
cp confs/dev.ini conf/config.ini

把 config.ini 的mysql密码等配置改成你本地的

  • 找后端研发导入数据库

    一般 通过 sequelpro 这个mysql数据管理工具导入

-安装 iris 热更新工具

go get github.com/kataras/rizla
  • 启动项目
rizla main.go

更多内容请参与我们的现场的技术分享,没有加入我们公司的,请把简历砸过来: [email protected]


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK