Vue 简单配置公用接口地址方式

目录
  • 简单配置公用接口地址
    • 首先配置
    • package.json 文件下的配置
    • .env.build 和 .env.test 文件
    • vue.config.js 文件配置
  • vue接口路径配置
    • 创建文件
    • axios获取json文件内容

简单配置公用接口地址

有时候需要本地和线上需要不同的接口地址, 这个时候可以根据 npm run build 判断

首先配置

先新建一个 config.js 的文件

  • 开发环境: 说明在本地测试的时候链接的地址
  • 测试环境: 说明是根据 npm run test 进行判断
  • 生产环境: 说明是已经部署到线上的代码 npm run build
let baseURL = ''
if (process.env.NODE_ENV === 'production') {
    //根据.env文件中的VUE_APP_FLAG判断是生产环境还是测试环境
    if (process.env.VUE_APP_TITLE === 'production') {
        //production 生产环境
        baseURL = 'http://192.168.10.111:8080/zhikong'
    } else {
        //test 测试环境
        baseURL = ''
    }
} else {
    //development 开发环境
    baseURL = 'http://192.168.10.12:8080/zhikong'
}
export default baseURL

package.json 文件下的配置

根据不同的指示来说明具体去调用哪个接口地址

{
  "scripts": {
    "serve": "vue-cli-service serve",
    // 根据不同的指示来说明具体去调用那个接口地址
    "build": "vue-cli-service build --mode build",
    "test": "vue-cli-service build --mode test",
    "lint": "vue-cli-service lint"
  }
}

.env.build 和 .env.test 文件

在和 src 文件夹同级的根目录下新建 .env.build 和 .env.test 文件

.env.build

NODE_ENV = 'production'
VUE_APP_TITLE = 'production'

.env.test

NODE_ENV = 'production'
VUE_APP_TITLE = 'test'

vue.config.js 文件配置

npm run build 根据环境生成不同打包的文件夹

const path = require('path')
function resolve (dir) {
    return path.join(__dirname, dir)
}
module.exports = {
    publicPath: './',
    // `npm run build` 根据环境生成不同打包的文件夹
    outputDir: process.env.VUE_APP_TITLE === 'production' ? 'dist-zhikong' : 'test',
    assetsDir: "",
    indexPath: 'index.html',
    filenameHashing: true,
    lintOnSave: false,
    runtimeCompiler: false,
    transpileDependencies: [],
    productionSourceMap: false,
    integrity: false,
    configureWebpack:{ 
        resolve:{   
            alias:{
                '@': resolve('src'),
            } 
        }
    },
    devServer:{   
        port:8080,
        host:'0.0.0.0',
        open:true,
        https:false,
        overlay: {
            warnings: true,
            errors: true
        }
    }
}

vue接口路径配置

在个人开发中,大多说vue的封装是固定形式

是写在文件中,切不可更改

例:

URL: 'http://127.0.0.1:8182/',
axios()//方式
ajax()//方式

如何在项目封装后依然可以更改?

创建文件

在根目录下创建static文件夹(现版本要放在public中,哪个行用哪个)

并创建config.json文件

{
  "name": "static",
  "version": "1.0.0",
  "url": "http://127.0.0.1:8183/",
  "dependencies": {},
}

在json中可以放版本号,项目名、后台路径、以及文件路径

axios获取json文件内容

使用async await进行同步请求

export default async function request(config) {
//public/config.json
await axios.get('static/config.json').then(res => {
    console.log(res.data.url)
    URL = res.data.url
  })
axios()//方法
ajax()//方法
}

在这样的请求的的时候,在 json文件不混乱的情况下,不需要考虑将内容提前预置在vuex缓存中,差距人的反应是感受不到的,甚至可能会因为某种原因丢失就得不偿失了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解vue配置后台接口方式

    在vueAdmin项目中有两种方式配置后端接口的方式,在此做下记录 第一种(代理方式) 在工程目录下 > config > index.js - 修改为如下配置 proxyTable: { '/api': { target: 'http://127.0.0.1:8000', pathRewrite: { '^/api': '' } } }, 在工程目录下 > src > api > user.js - 接口写法 import axios from 'axios' export

  • vue配置接口域名方法总结

    vue如何配置接口域名 1.vue本身为运行脚手架项目自家搭载了一个nodejs后台环境,本地可通过proxyTable来处理跨域问题,但是上线(或生产环境)之后改域名真是一件麻烦的事情,所以进行一些配置. 2.修改下面的两个文件,启动的时候自动判断环境来切换域名 1.在开发环境下配置如下:config/index.js 2.其他配置 3.主要内容为 4.其他配置

  • vue配置多代理服务接口地址操作

    一.介绍 随着微服务架构的流行,后台项目逐渐被拆分成不同的模块进行通信,但是前端还是只有一个项目所以在访问不同模块后台时,需要请求不同的地址,在vue项目中,通过配置代理可以进行后端服务器接口地址访问,当需要访问不同微服务的后端接口时就需要配置不同的地址. 二.代码 config/index.js文件中配置代理地址: 自己项目中定义所有接口api管理文件src/api/getData.js: 页面调用接口时xxx.vue 三.总结 1.vue使用配置多代理地址方式可以访问不同的项目地址,使用以上

  • vue设置全局访问接口API地址操作

    在使用vue框架进行前后端分离项目开发时,通常涉及到与后段接口进行交互,平时一般使用比较多的就是用axios来实现调用后段接口,写法一般为 xxx() { const _this = this axios.get("http://ip:port/xx/xx").then(function (resp) { .....//省略 }) } 但是有一个比较普遍的问题就是,假如我们后端接口地址改变了,或者是网络地址发生了变化,就需要在上面IP以及端口的位置每一处都需要修改,所以我们需要一个一处

  • Vue 简单配置公用接口地址方式

    目录 简单配置公用接口地址 首先配置 package.json 文件下的配置 .env.build 和 .env.test 文件 vue.config.js 文件配置 vue接口路径配置 创建文件 axios获取json文件内容 简单配置公用接口地址 有时候需要本地和线上需要不同的接口地址, 这个时候可以根据 npm run build 判断 首先配置 先新建一个 config.js 的文件 开发环境: 说明在本地测试的时候链接的地址 测试环境: 说明是根据 npm run test 进行判断

  • vue中配置后端接口服务信息详解

    目录 vue配置后端接口服务信息 最重要一点 以此接口为例 vue与后端接口是如何进行接口请求的原理 最近遇到一个很奇怪的问题 附上如下图示 vue配置后端接口服务信息 最重要一点 配置完信息后,重新启动服务 npm run dev 需要在config下的index.js中 找到 module.exports = {   dev: {    } } 以此接口为例 dev: {     // Paths     assetsSubDirectory: 'static',     assetsPub

  • vue axios 给生产环境和发布环境配置不同的接口地址(推荐)

    本项目是vue-cli搭建的项目框架,引入axios用于数据请求.配置不同的接口地址,(首先确保已经集成了axios,如对集成axios有疑问的道友,可参看我之间的一篇vue-cli 引入axios)操作如下 一.设置不同的接口地址 找到如下文件 /config/dev.env.js /config/prod.env.js 之后增加接口地址域名配置,增加后的文件内容如下 二.在自己重新封装的axios文件中(api/api.js),将配置好的接口地址作为baseURL拼接到接口路径中 详细的ap

  • 利用vscode编写vue的简单配置详解

    前言 本文主要给大家介绍的是关于vscode编写vue简单配置的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: PS:现在推荐使用vetur插件 win10崩溃,重装win7,结果sublime text插件无法安装,各种心塞,于是决定转战vscode. 与sublime text相比,vscode有不少优点: 中文输入法支持更好.在windows平台下,需要st支持中文输入需要安装各种插件,而且效果也是差强人意. 基础功能更全面.vscode自带插件管理.git.sidebar.

  • 如何修改Vue打包后文件的接口地址配置的方法

    1.背景 常规的vue项目分为本地环境和生产环境,我们只要对 config 文件夹下的 dev.env.js 和 prod.env.js 做相应的配置即可.但是最近在做的项目中,涉及到私有化部署,就是对应的生产环境的地址,不是唯一的.如果每次都修改一个地址,再打包文件进行部署,过程繁琐且低效.那么如何把环境地址设置成可配置的,不需要再构建代码就能直接生效呢? 2.可选方案 进行了调研后,网上介绍的方案有2种: 1)在static上设置一个config.js,把配置的参数设置成 window 下的

  • Vue项目打包后可修改基础接口地址配置的具体操作

    目录 一.目的 二.具体操作实现 总结 一.目的 最近在学习或工作中遇到,把 Vue 前端项目打包后,要求可以再次修改请求后端接口的基础地址.平常开发中在 Vue 项目中使用 axios 时把请求后端接口的基础地址写在了 baseURL 里. 这样子打包后如果要改图里红框处的地址,要么去打包编译后的文件堆里一个个搜索(如果项目不小的话,这文件堆可不少...),找到后直接改,要么在源码里改完后重新再打包部署,这两种做法都显得有些麻烦,且维护性也不好. 所以本文用一种较好的方案来解决以上问题,通过创

  • vue axios封装httpjs,接口公用配置拦截操作

    做一下记录,在vue项目中配置公用的请求https, (1) 位置,在src中新建 src/utils/http.js import axios from 'axios' // 引用axios import { MessageBox, Message } from 'element-ui' import Qs from 'qs' //引入数据格式化 import router from '@/router' // axios 配置 axios.defaults.timeout = 50000 /

  • Vue proxyTable配置多个接口地址,解决跨域的问题

    最开始的时候,因为请求后台出现跨域问题. 查找资料配置proxyTable,解决跨域问题.如下图所示: axios请求页面: this.$axios.post('/api/weblogin/login',data).then(res=>{ console.log(res) }) 后面遇到需要连接不同的接口域名,我在proxyTable里增加了一个apiGas.axios请求存在获取得到api但是不能获取apiGas(提示请求资源不存在). proxyTable: { '/api': { targ

随机推荐