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

yizhihongxing

首先,我们需要了解Vue的配置文件vue.config.js。这个文件在Vue项目的根目录下,可以用来对Vue应用进行一些自定义配置。

vue.config.js文件中,我们可以引入并配置Webpack插件。通过使用Webpack插件,我们可以对Webpack进行自定义配置,从而实现Vue项目的一些特殊需求,比如修改Webpack的别名、调整Webpack的编译输出等等。

以下是完整的Vue简单配置公用接口地址方式的攻略:

1.首先,在项目根目录下创建vue.config.js文件:

module.exports = {
  // 公共路径(必须有的)
  publicPath: '/',
  // 输出文件目录
  outputDir: 'dist',
  // 默认情况下,文件名中包含hash以便更好的控制缓存
  filenameHashing: true,
  // 构建时是否开启eslint校验
  lintOnSave: true,
  // 是否使用包含运行时编译器的Vue核心文件
  runtimeCompiler: false,
  // 生产环境不要开启source map,可以加速编译
  productionSourceMap: false,
  // 定义webpack插件
  configureWebpack: {
    // 定义插件
    plugins: [
      // DefinePlugin可以定义全局变量
      new webpack.DefinePlugin({
        'process.env': {
          NETWORK_API: "'https://api.xxx.com/'"
        }
      })
    ]
  },
  devServer: {
    port: 8080,      // 配置开发服务器的端口号,默认值为8080
    open: true,     // 是否自动打开浏览器,默认为false
    disableHostCheck: true,   // 禁用host检查
    proxy: {
      '/api': {   // 访问 /api/xxx 就会被代理到 target 中
        target: process.env.NETWORK_API,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

2.在vue.config.js文件的configureWebpack对象中使用webpack.DefinePlugin插件来定义全局变量,并将网络接口地址作为全局变量导入到Vue项目中:

new webpack.DefinePlugin({
  'process.env': {
    NETWORK_API: "'https://api.xxx.com/'"
  }
})

3.在vue.config.js文件的devServer对象中进行代理配置,实现访问 /api/xxx 接口时被代理到网络接口地址中:

proxy: {
  '/api': {   // 访问 /api/xxx 就会被代理到 target 中
    target: process.env.NETWORK_API,
    pathRewrite: {
      '^/api': ''
    }
  }
}

示例一:在Vue项目中获取接口数据

<template>
  <div>
    <div v-if="load">正在加载中...</div>
    <ul v-else>
      <li v-for="item in list" :key="item.id">{{ item.name }}</li>
    </ul>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        load: false,
        list: []
      }
    },
    mounted() {
      this.loadData()
    },
    methods: {
      async loadData() {
        try {
          this.load = true
          const res = await this.$http.get('/api/list')
          this.list = res.data.data
        } catch (e) {
          console.error(e)
        } finally {
          this.load = false
        }
      }
    }
  }
</script>

示例二:在axios中使用网络接口地址

import axios from 'axios'

axios.defaults.baseURL = process.env.NETWORK_API

export default axios

在以上示例中,我们使用了axios库进行网络请求,并将网络接口地址通过axios.defaults.baseURL设置为全局默认的接口地址。

以上就是Vue 简单配置公用接口地址方式的完整攻略及示例说明。我们通过Vue的配置文件和Webpack插件,实现了Vue项目中网络接口地址的公用配置,从而更便捷地进行接口数据的传递和请求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue 简单配置公用接口地址方式 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • Vue指令之 v-cloak、v-text、v-html实例详解

    Vue指令之 v-cloak、v-text、v-html实例详解 在Vue中,指令(Directive)是一种特殊的标记,可以在模板中使用,用于动态地将数据渲染到HTML中。指令以“v-”开头,例如v-bind、v-for等。除了常见的指令以外,Vue还提供了一些常用的指令,如v-cloak、v-text和v-html。 v-cloak v-cloak指令是…

    Vue 2023年5月27日
    00
  • Vue2 中自定义图片懒加载指令 v-lazy实例详解

    Vue2 中自定义图片懒加载指令 v-lazy 实例详解 在 Vue2 中,我们可以使用自定义指令来实现图片懒加载功能。本篇文章将会详细讲解如何利用 v-lazy 自定义指令实现图片懒加载功能。 1. 实现步骤 以下是实现步骤: 1.1. 新建自定义指令文件 在项目中新建一个 lazy 文件夹,用来存放自定义指令。在这个文件夹下新建一个 index.js 文…

    Vue 2023年5月27日
    00
  • vue项目总结之文件夹结构配置详解

    当我们开发 Vue 项目时,良好的文件夹结构对于提高代码的可读性和可维护性至关重要。下面我将详细讲解“vue项目总结之文件夹结构配置详解”的完整攻略,帮助大家合理配置 Vue 项目的文件夹结构。 1. 将所有组件放在 components 目录下 在开发 Vue 项目时,通常会有很多的组件。为了使项目结构更为清晰,建议将所有组件放在 components 目…

    Vue 2023年5月28日
    00
  • vue 指令与过滤器案例代码

    以下是关于 Vue 指令与过滤器的详细攻略: Vue 指令 Vue.js 中的指令是一种特殊的属性,以 v- 开头,并且会在渲染时根据一些逻辑被解析和执行。指令主要是用来操作 DOM 元素的,包括变更元素的文本内容、监听元素的事件、控制元素的显示和隐藏等等。下面是几个常用的指令示例。 v-text 指令 这个指令可以用来替代元素的 innerText 属性,…

    Vue 2023年5月27日
    00
  • uni-app 使用编辑器创建vue3 项目并且运行的操作方法

    安装编辑器和uni-app 首先需要安装编辑器,比如VS Code、Sublime Text、Atom等,这里以VS Code为例。 接下来需要安装并配置uni-app,可以使用以下命令:npm install -g @vue/cli和vue create -p dcloudio/uni-preset-vue my-project进行安装和初始化。 创建vu…

    Vue 2023年5月27日
    00
  • Vue3 reactive响应式赋值页面不渲染的解决

    下面我将为你详细讲解“Vue3 reactive响应式赋值页面不渲染的解决”的完整攻略。 问题描述 在Vue3中,我们可以使用reactive响应式编程,对数据进行监听,当数据发生改变时,页面会自动重新渲染。但有时候在赋值时,页面却没有发生渲染,这是一个常见的问题。 解决方案 方案一:使用toRefs Vue3中的reactive返回的对象是一个Proxy,…

    Vue 2023年5月27日
    00
  • Python3.10接入ChatGPT实现逐句回答流式返回

    下面是详细的攻略: 1. 概述 ChatGPT是一个基于深度学习技术的自然语言处理工具,可以进行对话生成、文本摘要等任务。而Python 3.10是Python编程语言的最新版本,有很多新增功能和改进。本教程将介绍如何使用Python 3.10接入ChatGPT,实现逐句回答并流式返回。 2. 准备工作 在开始之前,需要进行以下准备工作: 2.1 安装Pyt…

    Vue 2023年5月28日
    00
  • Vue-router编程式导航的两种实现代码

    Vue-router 是 Vue.js 官方的路由管理器,它和 Vue.js 的核心深度集成,让构建单页应用变得非常容易。编程式导航是指在代码中手动改变路由的方式。Vue-router 提供了两种编程式导航的方法。 方法一:$router.push // 在组件内部使用 this.$router.push({ path: ‘/example’, query:…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部