美文网首页
VUE学习笔记一(创建项目与axios)

VUE学习笔记一(创建项目与axios)

作者: 青城墨阕 | 来源:发表于2019-04-15 20:54 被阅读0次

一、利用vue-cli创建项目(推荐):

1.安装node.js(http://www.runoob.com/nodejs/nodejs-install-setup.html)

2.基于node.js,利用淘宝npm镜像安装相关依赖

在cmd里直接输入:npm install -g cnpm --registry=https://registry.npm.taobao.org,回车,等待安装...

3.安装全局vue-cli脚手架,用于帮助搭建所需的模板框架

在cmd里 1)输入:cnpm install -g vue-cli,回车,等待安装...

  • vue init webpack 项目名称


    项目结构.jpg

二、axios的baseURL配置

配置

1.在pro.env.js或dev.env.js中增添API_BASEURL字段;
2.在axios文件:
2.1 在axios文件中引入pro.env.js(生产时)或dev.env.js(开发时):

import process from '../../config/prod.env'

2.2 初始化axios时使用:

// axios初始化:延迟时间,主路由地址
let instance = axios.create({
     baseURL: process.API_BASEURL,  // 从环境进程中根据运行环境获取的api的base_url
     timeout:10000, // 请求超时时间
});

应用


/*
* 附带axios的封装
*/

import Vue from 'vue'
import  { LoadingPlugin, ToastPlugin } from 'vux'
Vue.use(LoadingPlugin);
Vue.use(ToastPlugin);
import axios from 'axios'
import process from '../../config/prod.env'


// axios初始化:延迟时间,主路由地址
let instance = axios.create({
  baseURL: process.API_BASEURL,  // 从环境进程中根据运行环境获取的api的base_url
  timeout: 10000, // 请求超时时间
});


//http request拦截器
instance.interceptors.request.use(config => {
  //在发送请求之前做某事
  Vue.$vux.loading.show({
    text: 'Loading'
  })
  config.headers = {
    "Content-Type": "application/json; charset=utf-8"
  }
  config.data = JSON.stringify(config.data);
  return config;
}, error => {
  //请求错误时做些事
  setTimeout(() => {
    Vue.$vux.loading.hide();
    Vue.$vux.toast.text('加载超时', 'middle')
  },3000)
  return Promise.reject(error);
});


//http response拦截器
instance.interceptors.response.use(response => {
  //对响应数据做些事
  Vue.$vux.loading.hide();
  return response;
}, error => {
  //请求错误时做些事
  setTimeout(() => {
    Vue.$vux.loading.hide()
    Vue.$vux.toast.text('请求失败', 'middle');
  },1000)
  return Promise.reject(error);
});

export default {
  get(url, params = {}) {
    return new Promise((resolve, reject) => {
      instance.get(url, {
        params: params
      })
        .then(res => {
          //请求结束成功
          if (res.status === 200 || res.status === 304) {
            resolve(res.data)
          }else{
            reject(new Error(res.data.msg))
          }
        })
        .catch(res => {
          reject(res)
        })
    })
  },
  post(url, data = {}) {
    return new Promise((resolve, reject) => {
      instance.post(url, data)
        .then(res => {
          //请求结束成功
          if (res.status === 200 || res.status === 304) {
            resolve(res.data)
          }else{
            reject(new Error(res.data.msg))
          }
        })
        .catch(res => {
          reject(res)
        })
    })
  },
}

axios封装路径图.jpg
在main中引入.jpg

在.vue中请求接口

this.$http.get('/orion/verify/picVerify.do?md5=3752531FCF2BEDF6946EC2372D78B17B')
          .then(res => {
            console.log('get~~~~~~~~~~~~', res)

          })
          .catch(error => {
            console.log(error)
          })
请求接口.jpg

相关文章

  • vue学习笔记(3)——router

    githubvue学习笔记(1)主要介绍vue项目的创建vue学习笔记(2)主要介绍项目的基本设置,如axios设...

  • VUE学习笔记一(创建项目与axios)

    一、利用vue-cli创建项目(推荐): 1.安装node.js(http://www.runoob.com/no...

  • VUE学习之接口调试

    VUE学习之接口调试 一、项目创建二、使用axios发送请求三、调试小插曲 一、项目创建 1、全局安装vue的脚手...

  • vue学习笔记(1)——创建项目

    githubvue学习笔记(2)主要介绍项目的基本设置,如axios设置和项目颜色控制vue学习笔记(3)主要介绍...

  • vue学习笔记(2)——基础设置

    githubvue学习笔记(1)主要介绍vue项目的创建vue学习笔记(3)主要介绍vue的router简单用法对...

  • 2019-01-19

    Vue+Vuex+axios+sass项目: 抽空整理了一下使用vue-cli创建vue项目并在项目中使用Vuex...

  • 创建简易axios请求

    先在vue项目内下载axios yarn add axios 第一种方式 : 创建axios请求 第二种方式 :...

  • vue-cli + vue-router + vuex + ax

    介绍 项目的创建 创建一个练手的小项目,包含了自定义组件,vue-router,vuex,vue-axios的简...

  • vue axios 接口封装

    准备工作 vue-cli 创建一个新项目 vue-cli axios中文说明文档 1.安装axios npm in...

  • Vue学习笔记

    Vue学习笔记 1. 创建项目 2. Vue Router Issues&Solutions 1. Vue运行环境...

网友评论

      本文标题:VUE学习笔记一(创建项目与axios)

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