构建:vue项目配置后端接口服务信息

背景

vue项目如何请求后端api?

vue-cli脚手架生成的webpack标准模板项目

HTTP库使用axios

一、开发环境跨域与API接口服务通信

整体思路:

  • 开发环境API接口请求baseURL为本地http://localhost:8080
  • 为本地请求配置代理,代理目标服务器设置为接口服务所在地址或域名

具体步骤如下:

1、config/dev.env.js文件中配置baseURL

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  BASE_API: '"http://localhost:8080"' //配置为本地地址才会访问到本地虚拟的服务器,从而通过第1步中代理访问API服务,避免跨域
})

2、axios配置baseURL

// 创建axios实例
const service = axios.create({
  baseURL: process.env.BASE_API, // api的base_url
  timeout: 5000 // 请求超时时间
})

3、config/index.js文件中配置开发环境代理

复制代码
module.exports = {
  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: { // 代理配置信息
      '/taskinfo': {
        target: 'http://192.168.162.22:8381/taskinfo', // API服务所在IP及端口号
        changeOrigin: true, // 如果设置为true,那么本地会虚拟一个服务器接收你的请求并代你发送该请求,这样就不会有跨域问题(只适合开发环境)
        pathRewrite: {
          '^/taskinfo': '' // 重写路径
        }
      }
    },

……
  }
}
复制代码

二、生产环境配置API接口服务信息

生产环境直接指向API接口服务,使用IP或域名

1、config/dev.env.js文件中配置baseURL

'use strict'
module.exports = {
  NODE_ENV: '"production"',
  BASE_API: '"http://192.168.162.22:8381/"' // API服务所在IP及端口,或域名
}

2、axios配置baseURL

同开发环境,无需重复配置

三、生产环境静态文件获取目录(静态文件独立部署)

待续……

转载于:https://www.cnblogs.com/zhq--blog/p/10206568.html

Vue 是一款流行的前端框架,可以轻松构建交互式的Web应用程序。在开发Web应用程序时,我们通常需要连接后端API接口或基于RESTful API的服务。那么,如何在Vue配置后端接口地址呢?以下是几个简单的步骤: 1. 创建一个Config.js文件来存储API基本配置信息,例如API地址和其它配置属性。 2. 使用axios库发起API请求。axios是一个基于Promise的HTTP客户端,可以在浏览器和Node.js中使用。它可以轻松地集成到Vue应用程序中。 3. 在main.js中导入Config.js配置文件,以将API地址和其它配置属性注入到Vue实例中。 4. 创建一个API.js文件用于封装API请求,以便在整个应用程序中使用。 5. 在Vue组件中调用API.js的API请求函数以发起API请求。 以下是具体的实现流程: 1. 创建Config.js文件,其中包含API地址等配置信息: ``` js export const API_BASE_URL = 'http://www.example.com/api'; export const API_TIMEOUT = 5000; ``` 2. 在main.js中导入Config.js配置文件: ``` js import Vue from 'vue'; import App from './App.vue'; import { API_BASE_URL, API_TIMEOUT } from './config'; Vue.config.productionTip = false; new Vue({ render: h => h(App), data: { API_BASE_URL, API_TIMEOUT } }).$mount('#app'); ``` 3. 在API.js文件中封装API请求: ``` js import axios from 'axios'; import { API_BASE_URL, API_TIMEOUT } from './config'; axios.defaults.timeout = API_TIMEOUT; axios.defaults.baseURL = API_BASE_URL; export function getExampleData() { return axios.get('/data'); } export function postExampleData(params) { return axios.post('/data', params); } ``` 4. 在Vue组件中调用API.js的API请求函数: ``` js <template> <div> <h1>{{ message }}</h1> </div> </template> <script> import { getExampleData } from './api'; export default { name: 'ExampleComponent', data() { return { message: '', }; }, methods: { getData() { getExampleData().then((response) => { this.message = response.data.message; }); }, }, mounted() { this.getData(); }, }; </script> ``` 以上就是在Vue配置后端接口地址的步骤。通过这些步骤,我们可以轻松地从后端API接口获取数据并在应用程序中渲染。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值