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

本文中所有请求都是使用 axios

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://juejin.im/post/5aaa06dc5188255574596c68

vue-cli 搭建的项目处理不同环境下请求不同域名的问题相关推荐

  1. vue = 什么意思_记录使用@vue/cli搭建Vue3项目完整流程

    最近发现vue两大UI框架Element UI和Ant Design Vue都已经支持Vue3了,如果再不学习Vue3就落伍了,此文章记录下使用@vue/cli搭建Vue3项目完整流程. 1 安装vu ...

  2. cli vue 卸载_记录使用@vue/cli搭建Vue3项目完整流程

    最近发现vue两大UI框架Element UI和Ant Design Vue都已经支持Vue3了,如果再不学习Vue3就落伍了,此文章记录下使用@vue/cli搭建Vue3项目完整流程. 1 安装vu ...

  3. 如何完整的搭建一个项目的开发环境?

    本章节主要说的是如何完整的搭建一个项目的开发环境 一.安装vue脚手架 首先创建一个文件夹并且在本文件夹的黑窗口(cmd命令进入)安装Vue的脚手架,使用:cnpm i -g @vue/cli 命令进 ...

  4. Vue整合SpringBoot项目实战之Vue+Element-Ui搭建前端项目

    Vue整合SpringBoot项目实战之Vue+Element-Ui搭建前端项目 源码(欢迎star): 前端项目代码 后端项目代码 系列文章: Vue整合SpringBoot项目实战之后端业务处理 ...

  5. Vue CLI3搭建的项目中,如何给文件夹起别名?

    因为这段大年的时间里,好久没写博客了,是好懒散了.真的是少年易老学难成,一寸光阴不可轻啊.浪费一秒钟是一秒钟的罪过. 我们使用Vue CLI3搭建的项目中,在vue.config.js文件中,在给文件 ...

  6. 区块链 Hyperledger - 超级账本项目在centos7环境下的安装与部署

    Hyperledger - 超级账本项目在centos7环境下的安装与部署 Hyperledger 项目是开源界面向开放.标准区块链技术的首个重要探索,在 Linux 基金会的支持下,吸引了众多科技和 ...

  7. vue CLI脚手架搭项目

    1.安装 node.js环境 官网下载:https://nodejs.org/en/download/ 一直默认就行,路径可以改变但要记得到 安装完成后cmd打开终端,输入node -v ,npm - ...

  8. Vue CLI构建SPA项目教你手把手创建SPA项目

    下载安装Vue-CLI 官方文档:https://cli.vuejs.org/zh/ 首先要确定自己的电脑上安装了 Node.js 8.9 或更高版本. 然后,我们就可以使用 npm 来安装 vue/ ...

  9. Vue项目本地运行环境下设置既能localhost访问又能IP访问,并且可以外网环境下通过域名访问

    打开项目build下index.js文件,将localhost改为 0.0.0.0,port端口号改不改都行,只要保证这个端口号没有被占用即可. 然后打开项目package.json文件,找到 将红框 ...

最新文章

  1. 根据函数指针地址获取函数名
  2. python3语法-python3 标签语法有什么用?
  3. 【Android应用开发】 Android 崩溃日志 本地存储 与 远程保存
  4. 成功解决sys.argv[1] IndexError: list index out of range错误
  5. java 组件化_(原创)搭建一个组件化的监控平台
  6. oracle捕捉所有异常,如何捕获和处理特定的Oracle异常?
  7. 套接字(Windows)
  8. python多线程没有java_Java 多线程启动为什么调用 start() 方法而不是 run() 方法?...
  9. 计算机应用基础word教程,计算机应用基础-文字处理word教程PPT课件.ppt
  10. CentOS 7系统,Docker想启用userns-remap,傻了吧?
  11. android-生命周期和GC
  12. l7sa008b故障代码_Robertshaw 365-A8振动开关故障探测器
  13. css 面包屑 30个字节,css3面包屑设计
  14. springboot版本导致Mabatis-Plus报错
  15. 计算机桌面图标乱码,教您软件乱码怎么修复
  16. Ubuntu使用gzip与bzip2与rar和tar压缩解压
  17. 仇【吐槽】生活和工作都一根筋的工友真心桑不起!真心快憋出内伤了!
  18. 论文研读 —— 7. Very Deep Convolutional Networks for Large-Scale Image Recognition (1/3)
  19. Python后台开发基础——Web前端基础
  20. 数学公式编辑器MathType 简介

热门文章

  1. python三维可视化图,如何使用Python在(交互式)3D中可视化图形?
  2. Android的Spinner控件解决默认选中第一条问题
  3. 20220104:力扣第274场周赛(下)
  4. php百度地图地址解析失败,javascript - vue中使用百度地图 提示无法解析
  5. 职业高中计算机专业目标,职业高中计算机专业开设的必要性
  6. ueditor 覆盖下拉框问题解决
  7. 百度地图Polyline 清除
  8. 对ObjectMapper的理解及延伸
  9. MIT要和世界各地研究机构合作,让机器能像婴儿一样学习
  10. 小姐姐の福音!美图旗下美妆相机推出AI新功能“发型管家”