博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue-cli 搭建的项目处理不同环境下请求不同域名的问题
阅读量:6982 次
发布时间:2019-06-27

本文共 1086 字,大约阅读时间需要 3 分钟。

使用 vue-cli 开发项目过程中, 根据开发环境和正式环境不同, 我们往往需要请求不同域名下的后台接口, 这时候, 该怎么去设置, 达到同一种写法可以根据环境不同而自动切换请求域名呢? 本文将会介绍两种配置方式.

本文中所有请求都是使用

一、

1、修改 config/dev.env.js (开发环境的配置)

'use strict'const merge = require('webpack-merge')const prodEnv = require('./prod.env')module.exports = merge(prodEnv, {  NODE_ENV: '"development"',  API_HOST: '"http://localhost:3000"' // 开发环境接口地址(这里是增加的内容)})

2、 修改 config/prod.env.js (正式环境的配置)

'use strict'module.exports = {  NODE_ENV: '"production"',  API_HOST: '"http://localhost:8888"'  // 正式环境接口地址(这里是增加的内容)}

3、 使用 axios 发送请求

axios.get(process.env.API_HOST + '/api/userData') // 请求前加上 `process.env.API_HOST`  .then(data => {    console.log(data)  })

二、

第二种方法主要使用 axios 的创建实例的用法

main.js 配置 axios

import axios from 'axios'const host = process.env.NODE_ENV === 'development' ? 'dev api host' : 'prod api host' // 根据 process.env.NODE_ENV 的值判断当前是什么环境const instance = axios.create({  baseURL: host})Vue.prototype.$http = instance

在组件中调用

this.$http.get('/api/userData')  .then(data => {    console.log(data)  })

个人一般采用第二种方式,因为写的方便

转载于:https://www.cnblogs.com/raind/p/9224527.html

你可能感兴趣的文章
swift集成alamofire的简单封装
查看>>
javascript模块化、模块加载器初探
查看>>
每天工作4小时的程序员【转】
查看>>
替换空格
查看>>
css中的垂直居中方法
查看>>
android上line-height的问题
查看>>
php相关书籍视频
查看>>
java web项目流程小结
查看>>
PL/SQL Developer远程访问Oracle数据库
查看>>
Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案
查看>>
细说浏览器特性检测(2)-通用事件检测
查看>>
完美数据迁移-MongoDB Stream的应用
查看>>
二、JavaScript基础 学好jQuery要了解的
查看>>
Hibernate之继承映射
查看>>
【C#公共帮助类】给大家分享一些加密算法 (DES、HashCode、RSA、AES等)
查看>>
ORA-06502 when awr report produce
查看>>
check_partition_aft_merge.sql
查看>>
record-09 ATM 过程思想 综合练习
查看>>
北京中天荣泰视觉检测 仿真
查看>>
C++复制控制:拷贝构造函数
查看>>