为什么需要封装呢?主要是为了更好管理项目以及增加复用性

1、首先在src文件夹下创建api文件夹 、 utils文件夹 、 server文件夹

  api:创建一个index.js文件   用来存放接口地址

  utils:用来存放公用js文件

  server:用来存放请求的接口数据

2、在package.json文件中增加以下代码   【以下代码是中间代理作用】

3、在api文件中的index.js中写入  【api里面的命名全部为大写,用于区分】

const SAT_HOST = "http://localhost:8080";

/**
 * 请求电影   正在热映影片数据
 */
const GET_PLAYING = "/ajax/movieOnInfoList"

记住一定要记得向外输出
export default{
  SAT_HOST,
  GET_PLAYING
}

  在utils文件夹中创建http.js文件 封装 axios   【注:首先需要安装axios   不做赘述  (npm)】

import API from '../api';
import axios from 'axios'

export default function http({ url, method, data }) {
  let options = {
    url: url,
    method: method,
    baseURL: API.SAT_HOST,
    timeout: 2000
  }
  if (method == 'GET') {
    options.params = data
  } else if (method == "POST") {
    options.data = data
  }
  return axios(options)
}

  在server文件夹中创建一个用于请求数据的js文件  ,文件名自取  代码如下

import API from '../api';
import http from '../utils/http.js'

export function getPlaying(){
  return new Promise((resolve,reject)=>{
    http({
      url:API.GET_PLAYING,
      method:'GET',
      //用于写参数
      data:{

      }
    })
    .then(({data,status})=>{
      if(status != 200){
        return {}
      }else{     let data2 = data     resolve({      data:data2     })
        console.log(data);
      }
    })
    .catch(error=>{
      console.log(error)
    })
  })
}

4、需要在哪个vue文件中引入接口数据

<template>
  <div></div>
</template>

<script>引入接口数据到当前vue文件
import {getPlaying} from './server/movieList'
export default {
  data(){
    return{

    }
  },
  created(){
    getPlaying().then(({movieList})=>{
      console.log(movieList)
    })
  }
}
</script>

<style>

</style>

vue 封装axios以及使用中间代理 proxy的更多相关文章

  1. Vue 封装axios(四种请求)及相关介绍(十三)

    Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...

  2. vue封装axios

    一.安装axios npm install --save axios 二.在src下面创建文件夹api=>api.js(接口集合)+http.js(封装的请求) 三.在main.js中引用api ...

  3. vue 封装 axios 和 各类的请求,以及引入 .vue 文件中使用

    //src 底下建立 api 文件夹 // api 文件夹下建立 request,js 文件,文件内容复制下面这段代码即可   /**  * ajax请求配置  */ import axios fro ...

  4. vue封装axios方法推荐)

    目录结构: api.js export default { myTopic: '/api/subscribe-data/post/cat' } request.js import axios from ...

  5. vue cli+axios踩坑记录+拦截器使用,代理跨域proxy(更新)

    16319 1.首先axios不支持vue.use()方式声明使用,看了所有近乎相同的axios文档都没有提到这一点建议方式 在main.js中如下声明使用 import axios from 'ax ...

  6. vue cli+axios踩坑记录+拦截器使用,代理跨域proxy

    1.首先axios不支持vue.use()方式声明使用,看了所有近乎相同的axios文档都没有提到这一点 建议方式 在main.js中如下声明使用 import axios from 'axios'; ...

  7. Vue 给axios做个靠谱的封装(报错,鉴权,跳转,拦截,提示)

    需求及实现 统一捕获接口报错 弹窗提示 报错重定向 基础鉴权 表单序列化 用法及封装 用法 // 服务层 , import默认会找该目录下index.js的文件,这个可能有小伙伴不知道可以去了解npm ...

  8. vue中Axios的封装和API接口的管理

    前端小白的声明: 这篇文章为转载:主要是为了方便自己查阅学习.如果对原博主造成侵犯,我会立即删除. 转载地址:点击查看 如图,面对一团糟代码的你~~~真的想说,What F~U~C~K!!! 回归正题 ...

  9. vue中axios 配置请求拦截功能 及请求方式如何封装

    main.js 中: import axios from '................/axios' axios.js 中: //axios.js import Vue from 'vue' i ...

随机推荐

  1. 初探Java中的异常处理

      Java中的异常有以下几种: 1) Error:Java运行时的内部错误. 2) Exception:程序中应该捕获的异常.          RuntimeException:因为编程产生的错误 ...

  2. hdu1542 线段树+扫描线+离散化

    仅仅想说题目给的欲实际不服     还是这类型的水题吧   建议看之前我写的那个 #include<stdio.h> #include<string.h> #include&l ...

  3. Git 少用 Pull 多用 Fetch 和 Merge 【已翻译100%】【转】

    本文转载自:https://www.oschina.net/translate/git-fetch-and-merge?lang=chs&page=1# 本文有点长而且有点乱,但就像Mark ...

  4. WinForm c# 备份 还原 数据库(Yc那些事儿 转)

    Yc那些事儿 我愿意 为了我的幸福 奋斗终生     2008-11-17 18:04 WinForm c# 备份 还原 数据库 其实是个非常简单的问题,一个Form,一个Button,一个OpenF ...

  5. 学界| UC Berkeley提出新型分布式框架Ray:实时动态学习的开端—— AI 应用的系统需求:支持(a)异质、并行计算,(b)动态任务图,(c)高吞吐量和低延迟的调度,以及(d)透明的容错性。

    学界| UC Berkeley提出新型分布式框架Ray:实时动态学习的开端 from:https://baijia.baidu.com/s?id=1587367874517247282&wfr ...

  6. centos7 二次封装定制

  7. C# 导出word 表格代码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. tpshop编辑框中上传图片过大变模糊

    tpshop编辑框中上传图片过大变模糊 图片超过2500的高就会变模糊 设置最大的高度修改一下

  9. 努比亚 N1 (Nubia NX541J) 解锁BootLoader 并刷入recovery

    本篇教程教你如何傻瓜式解锁BootLoader并刷入recovery 仅限于努比亚 N1 (Nubia NX541J)使用. 首先需要在设置-关于手机 找到版本号 然后手机快速连续点击来启用开发者模式 ...

  10. java如何设置文件的权限

    import java.io.File; 2.import java.io.IOException; 3./× 4.×只能给当前用户赋予对该文件的权限,调用createNewFile()方法默认的权限 ...