美文网首页
vue-cli与服务端交互

vue-cli与服务端交互

作者: Memory_2e2e | 来源:发表于2020-04-03 01:44 被阅读0次

实现前端UI与服务端交互,大致流程如下:

  1. UI调用统一管理的api请求;
  2. 使用封装的request.js发送请求;
  3. 获取服务端返回数据;
  4. 更新数据;

先从第一步开始,统一的api请求都放到/src/api文件夹中,按照模块拆分文件,如下:

src/
  api/
    login.js
    article.js
    index.js
    ...

列如 login.js的api代码

import request from '@/utils/request' //封装好的发送请求

export function login(username, password, code, uuid) {
  return request({
    url: 'auth/login',
    method: 'post',
    data: {
      username,
      password,
      code,
      uuid
    }
  })
}

export function getInfo() {
  return request({
    url: 'auth/info',
    method: 'get'
  })
}

export function getCodeImg() {
  return request({
    url: 'auth/captcha',
    method: 'get'
  })
}

export function logout() {
  return request({
    url: 'auth/logout',
    method: 'delete'
  })
}

request.js


request.js基于axios的封装,方便统一管理GET、POST等请求参数请求头,以及错误提示信息等。它可以封装全局request拦截器response拦截器,统一的错误处理,统一超时处理,baseURL设置等。代码如下:

import axios from 'axios'
import Config from '@/config'

// 创建axios实例
const service = axios.create({
  baseURL: process.env.BASE_API, // api 的 base_url,会根据启动方式获取不同url
  timeout: Config.timeout // 请求超时时间
})

export default service

//TODO 拦截器、错误提示

注意:api的baseURL需要到vue项目config配置文件(不是src/config)中添加

开发者模式:npm run dev,修改dev.env.js

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  //添加后台api根地址,测试环境
  //npm run dev
  BASE_API: '"http://localhost:9000"' //新添加的
})

生产模式(上线):npm run build,修改prod.env.js

'use strict'
module.exports = {
  NODE_ENV: '"production"',
  //新添加的,正式发布才配置
  //npm run build
  BASE_API: '"正式环境api根地址"' //新添加的
}

不通过配置,最简单方式,直接覆盖,如下:

export function getCodeImg() {
  return request({
    url: 'auth/captcha',
    method: 'get',
    baseURL: 'http://localhost:9000' //直接通过覆盖的方式
  })
}

相关文章

  • vue-cli与服务端交互

    实现前端UI与服务端交互,大致流程如下: UI调用统一管理的api请求; 使用封装的request.js发送请求;...

  • 2018-12-25

    Android网络请求库的对比 首先,Android端开发离不开与服务端的交互,与服务端交互就离不开网络请求;其次...

  • 写一个redis set命令的客户端

    客户端与服务端交互,需要遵从协议标准,否则交互无从谈起。比如http客户端与http服务端通信,需要遵从h...

  • Eureka之REST API

    Eureka服务端与客户之间的通讯方式为http,服务端通过提供rest API风格的接口与客户端或其它服务端交互...

  • flutter-formdata上传头像

    项目里用到与服务端交互图片,flutter formdata数据交互方法 之前在header里加了content-...

  • HTTP协议学习笔记(2)

    客户端与服务端的通信与TCP连接 1. 客户端与服务端的通信过程 当客户端想要跟服务端进行信息交互时,过程如下: ...

  • Vue2+Express+MySQL构建前后端分离项目

    需要用到 前端:Vue-cli 快速构建项目,开发前端页面Vue-Resource 与后端交互后端:Node ...

  • Unity MirrorNetworking-客户端服务端交互事

    Mirror客户端与服务端交互事件 [服务端] 当开启一个服务器时发生的事件 执行NetworkManager.S...

  • Angular与服务端交互

    在Angular中,封装了诸如$http、$resource等众多服务模块,供开发者与服务端交互时调用,同时,应用...

  • Selenium自动化实战学习第二天

    操作cookies 操作滚动条 获取服务端与客户端的交互信息

网友评论

      本文标题:vue-cli与服务端交互

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