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

 更新时间:2022年03月29日 14:58:05   作者:小火车况且况且况且  
这篇文章主要介绍了Vue 简单配置公用接口地址方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

简单配置公用接口地址

有时候需要本地和线上需要不同的接口地址, 这个时候可以根据 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缓存中,差距人的反应是感受不到的,甚至可能会因为某种原因丢失就得不偿失了 

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

相关文章

  • vue获取dom元素注意事项

    vue获取dom元素注意事项

    这篇文章主要介绍了vue获取dom元素注意事项及vue获取dom元素的内容,需要的朋友可以参考下
    2017-12-12
  • Vue移动端实现图片上传及超过1M压缩上传

    Vue移动端实现图片上传及超过1M压缩上传

    这篇文章主要为大家详细介绍了Vue移动端实现图片上传及超过1M压缩上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • Vue电商网站首页内容吸顶功能实现过程

    Vue电商网站首页内容吸顶功能实现过程

    电商网站的首页内容会比较多,页面比较长,为了能让用户在滚动浏览内容的过程中都能够快速的切换到其它分类。需要分类导航一直可见,所以需要一个吸顶导航的效果。目标:完成头部组件吸顶效果的实现
    2023-04-04
  • Vue中的computed和watch用法及区别

    Vue中的computed和watch用法及区别

    Vue中的computed和watch都可以监听数据变化,但computed主要用于计算派生属性,而watch则用于监听特定数据变化并执行回调函数。两者使用时需要注意区别
    2023-04-04
  • 讲解vue-router之命名路由和命名视图

    讲解vue-router之命名路由和命名视图

    这篇文章主要介绍了讲解vue-router之命名路由和命名视图,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • vue实现动态按钮功能

    vue实现动态按钮功能

    这篇文章主要介绍了vue实现动态按钮功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • 关于Vue在ie10下空白页的debug小结

    关于Vue在ie10下空白页的debug小结

    这篇文章主要给大家介绍了关于Vue在ie10下空白页的debug相关资料,这是最近在工作中遇到的一个问题,通过查找相关的资料终于解决了,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-05-05
  • vue 按钮 权限控制介绍

    vue 按钮 权限控制介绍

    这篇文章主要介绍了vue 按钮 权限控制,在日常项目中,会碰到需要根据后台接口返回的数据,来判断当前用户的操作权限,必须当有删除权限时,就显示删除按钮,下面我们就来了解一下具体的解决方法,需要的朋友也可以参考一下
    2021-12-12
  • 详解vue.js下引入百度地图jsApi的两种方法

    详解vue.js下引入百度地图jsApi的两种方法

    这篇文章主要介绍了详解vue.js下引入百度地图jsApi的两种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • echarts 使用formatter 修改鼠标悬浮事件信息操作

    echarts 使用formatter 修改鼠标悬浮事件信息操作

    这篇文章主要介绍了echarts 使用formatter 修改鼠标悬浮事件信息操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论