美文网首页Web 前端开发 程序员Go
前后分离Vue+Gin(go)总结

前后分离Vue+Gin(go)总结

作者: ShutLove | 来源:发表于2018-02-24 23:00 被阅读388次

一、Vue是啥,解决了什么问题

  1. Vue是一个前端MVVM框架,官方教程:https://cn.vuejs.org/v2/guide/,自己学习时觉得不错的一个教程:https://www.bilibili.com/video/av12739476/
  2. 解决的问题:这里就和Jquery作比较吧(因为自己没用过其他前端框架。。)。个人觉得Jquery主要解决了js操作原生dom效率低下的问题,但是Jquery也局限在了dom,它还是围绕着dom来做各种处理,有时候找或者修改某个dom真心繁琐。那么有没有可能我只需关心数据,用数据来驱动dom显示状态的变换呢,ok,这就是vue给我的感觉。

二、怎样使用Vue

  1. 最直接的方法是在html文件的script标签中引入vue.js, 然后就可以写js来使用vue了。
  2. 通过npm安装vue、vue-cli、vue-router、axios、webpack,利用vue-cli提供的脚手架创建项目。
  3. npm是啥?npm可以理解为js的包管理器,类比php的composer、go的glide、python的pip等,良心参考:https://www.jianshu.com/p/92c0293bba66
  4. vue-cli是啥?vue-cli是vue提供的一个创建工程的脚手架,通过vue init一个简单的命令,就省去了自己编写npm的package.json和webpack的配置文件来创建工程的繁琐步骤。
  5. vue-router是啥?之前的web开发,页面怎样跳转通过服务端的路由来配置,就是每个url都要问一下服务端该怎么显示页面。通过vue-router,该怎么显示页面可以在前端直接配置路由。这样前后端之间真正关心的就只有各种数据了。
  6. axios是啥?axios是vue官方推荐的前后端做数据交互的工具包,类比jquery的ajax,良心参考: https://www.jianshu.com/p/df464b26ae58
  7. webpack是啥?webpack可以将通过各种loader包将前端各种资源(js、css、图片文件等)都当做模块对待,这样就可以以模块的方式进行开发,而不是这里写一个link标签、那里写一个script标签,最后webpack可以把各种模块打包在一起编译成一个js文件提供给外部。良心参考:https://www.jianshu.com/p/42e11515c10f

三、碰到的问题

  1. 由于前后分离,前端后端访问端口不一样,请求存在跨域问题。跨域请求时,按照http协议标准,对于一些非简单请求,前端要先发一次options请求验证,验证通过再发真正的请求。如果把所有后端接口都添加一个options方法将是个灾难。
    解决方法:gin通过跨域中间件cors https://gocn.io/article/529
  2. 希望axios所有post请求数据格式都是application/x-www-form-urlencoded。
    解决方法:通过npm安装qs--->npm i qs --save, 在main.js中引入axios和qs
import axios from 'axios'
import qs from 'qs'

axios.defaults.timeout = 5000;                        //响应时间
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';           //配置请求头
axios.defaults.baseURL = '你的接口地址';   //配置接口地址
//POST传参序列化(添加请求拦截器)
axios.interceptors.request.use((config) => {
    //在发送请求之前做某件事
    if(config.method  === 'post'){
        config.data = qs.stringify(config.data);
    }
    return config;
},(error) =>{
     _.toast("错误的传参", 'fail');
    return Promise.reject(error);
});
Vue.prototype.$http = axios //叫$xxx随你喜欢

相关文章

  • 前后分离Vue+Gin(go)总结

    一、Vue是啥,解决了什么问题 Vue是一个前端MVVM框架,官方教程:https://cn.vuejs.org/...

  • vue+gin前后端分离

    1.gin 很简单,写个api接口 2.vue 搭建vue环境,两个单页面 main.js需要使用路由和axios...

  • vivo 商城前端架构升级—前后端分离篇

    本文主要以 vivo 商城项目的前后端分离经验,总结前后端分离思路,整理前后端分离方案,以及分离过程中遇到的问题及...

  • 前后端分离总结

    对用户的提示,全在前端定义,后端只返回状态; 当需要更改语言的时候,前端改就好了;

  • 前后端分离个人总结

    现在的前端需要用的东西越来越多了。每间公司采用的技术不一样,每个人都有自己的一套开发流程以及开发架构。 现在前端的...

  • go+vue项目跨域问题

    使用go+vue达到前后端完全分离,前端vue需要占用一个端口,后端go也需要占用一个端口,就会产生跨域问题。 前...

  • 对前后端分离设计模式的理解总结(部分Django描述)

    最近对前后端分离设计模式的理解总结: 为什么要做前后端分离: 有些人会说:因为职责明确,因为不再用模板做视图层 r...

  • flow-vue.js移动端效果

    得益于vue.js和element,以及vue-element-extends在线表格编辑。前后端分离的后端用go...

  • 关于前后端分离的资料收集

    收集一些关于前后端分离的资料,并做出一些总结,如有不正确之处请指出。 前言: 什么样的场景下,应该使用前后端分离 ...

  • 2019-01-11前后端分离

    什么是前后端分离? 为什么前后端分离? 前后端分离的优势? 未分离时期 MVC: 早期JSP+SERVLET中的结...

网友评论

    本文标题:前后分离Vue+Gin(go)总结

    本文链接:https://www.haomeiwen.com/subject/azwcxftx.html