vue打包后获取不到数据_vue 打包后,如何修改接口地址?

d29cab7d411fb4d19f0a268001dd9959.png

bug收集:专门解决与收集bug的网站

网址:www.bugshouji.com

0 1 背景

在 vue 项目中,我们可以通过不同的环境,访问不同的服务器. 虽然可以使用环境的切换,但是在打包成html文件后,想对其进行修改就不行了

// 环境的切换if (process.env.NODE_ENV == 'development') {        axios.defaults.baseURL = 'https://localhost:8888';} else if (process.env.NODE_ENV == 'debug') {        axios.defaults.baseURL = '';} else if (process.env.NODE_ENV == 'production') {        axios.defaults.baseURL = 'https://www.xxx.com';}

 需求,给用户提供,可以随时修改接口地址的方法

dfc258a2524ce79fe9f0a3401af53a71.png

0 2 解决方案

添加一个 config.js ,用户可以通过修改此文件,使用对接口地址的配置

具体操作步骤:

 1. 创建 config.js 文件

首先我们在public文件下建立一个js文件,就叫config.js吧,内容为

window.g = {  AXIOS_TIMEOUT: 10000,  ApiUrl: 'http://localhost:21021/api/' // 配置服务器地址,}

 2. 引用 config.js 文件

接下来我们只需要在index.html这个入口文件里引入该文件(注意路径就ok)

<script type="text/javascript" src="/public/config.js">script>

3. 使用 config.js 中的值

可以在封装 axios 的代码中,设置 baseUrl 时,直接使用 config.js 中配置的值。代码如下:

var baseURLStr = window.g.ApiUrl// 创建axios实例const service = axios.create({  baseURL: baseURLStr, // api的base_url  timeout: 5000 // 请求超时时间})

总结 

最后在打包成功之后,config,js文件不会被打包,依然存在public文件夹下,如果需要修改只需要用记事本打开文件修改地址就OK了,而且该方法也不会影响开发模式。

如果喜欢这篇文章,可以支持一下哟,分享、点赞、在看走一个,哈哈@_@

更多文章,请关注公众号【bug收集】 57348ed473eb8007a7da0164abfeca02.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
出现这种情况可能是因为你在Vuex中定义的state、getter、mutation、action等没有正确的引入和使用,或者是打包后的代码没有正确的加载和使用Vuex。 以下是一些可能的解决方案: 1. 确认Vuex是否正确引入:在项目入口文件(如main.js)中引入Vuex,并将其挂载到Vue实例中。示例代码如下: ```javascript import Vue from 'vue' import Vuex from 'vuex' import store from './store' Vue.use(Vuex) new Vue({ store, // 将store挂载到Vue实例中 render: h => h(App) }).$mount('#app') ``` 2. 确认打包后的代码是否正确加载Vuex:在打包后的html文件中,确认是否正确加载了Vuex的js文件,示例代码如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>My App</title> </head> <body> <div id="app"></div> <script src="/dist/js/chunk-vendors.js"></script> <script src="/dist/js/app.js"></script> </body> </html> ``` 3. 确认Vuex中的状态是否正确获取:在组件中使用Vuex中的状态时,需要使用`mapState`辅助函数将Vuex中的状态映射到组件的计算属性中。示例代码如下: ```javascript import { mapState } from 'vuex' export default { computed: { ...mapState({ count: state => state.count }) } } ``` 4. 确认Vuex中的mutation是否正确使用:在组件中使用Vuex中的mutation时,需要使用`mapMutations`辅助函数将Vuex中的mutation映射到组件的方法中。示例代码如下: ```javascript import { mapMutations } from 'vuex' export default { methods: { ...mapMutations([ 'increment' ]), handleClick() { this.increment() } } } ``` 希望以上解决方案能够帮助到你。如果还有问题,请随时提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值