weixin_41452476 2024-09-30 16:53 采纳率: 27.3%
浏览 17
已结题

vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址

vue2项目中,如何配置环境,可以在打完包之后,修改请求的服务器地址,或者修改其他相关的数据

  • 写回答

22条回答 默认 最新

  • 阿里嘎多学长 2024-09-30 16:53
    关注
    获得0.30元问题酬金

    AIGC生成:


    Vue2 项目中配置环境,修改请求服务器地址

    Vue2 项目中,可以使用环境变量(Environment Variables)来配置环境和修改请求服务器地址。

    1. vue.config.js 文件中,添加环境变量:
    module.exports = {
      // ...
      configureWebpack: {
        // ...
        plugins: [
          new webpack.EnvironmentPlugin({
            NODE_ENV: 'development', // 或 'production'
            BASE_URL: 'http://localhost:8080' // 或其他服务器地址
          })
        ]
      }
    }
    
    1. 在组件中,使用 $env 对象访问环境变量:
    <template>
      <div>
        <button @click="changeServer">切换服务器</button>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          serverUrl: 'http://localhost:8080'
        }
      },
      methods: {
        changeServer() {
          this.serverUrl = 'http://new-server.com'
        }
      }
    }
    </script>
    
    1. 使用 axios 或其他 HTTP 客户端库,修改请求服务器地址:
    import axios from 'axios'
    
    axios.create({
      baseURL: this.serverUrl
    })
    

    这样,在打包完成后,可以通过修改环境变量来更改请求服务器地址。

    代码示例

    // vue.config.js
    module.exports = {
      // ...
      configureWebpack: {
        // ...
        plugins: [
          new webpack.EnvironmentPlugin({
            NODE_ENV: 'development', // 或 'production'
            BASE_URL: 'http://localhost:8080' // 或其他服务器地址
          })
        ]
      }
    }
    
    // main.js
    import Vue from 'vue'
    import App from './App.vue'
    import axios from 'axios'
    
    Vue.prototype.$axios = axios.create({
      baseURL: process.env.BASE_URL
    })
    
    new Vue({
      render: h => h(App)
    }).$mount('#app')
    
    // App.vue
    <template>
      <div>
        <button @click="changeServer">切换服务器</button>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          serverUrl: process.env.BASE_URL
        }
      },
      methods: {
        changeServer() {
          this.serverUrl = 'http://new-server.com'
        }
      }
    }
    </script>
    

    重要提示

    在生产环境中,建议使用环境变量来配置环境和修改请求服务器地址,而不是在代码中硬编码服务器地址。


    评论

报告相同问题?

问题事件

  • 赞助了问题酬金15元 10月17日
  • 系统已结题 10月8日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀