javascript - Vue.js入口文件只要指定axios的baseURL就打不开网页
天蓬老师
天蓬老师 2017-04-11 12:36:59
[JavaScript讨论组]
import axios from 'axios'
import Qs from 'Qs'
let http = axios.create({
  baseURL: 'http://127.0.0.1/netdisk/public/',
  timeout: 10000,
  transformRequest: [function (data) {
    // Do whatever you want to transform the data
    return Qs.stringify(data)
  }]
})
Vue.use(http)
Vue.prototype.$http = http

也就是说只要在main.js中不把baseURL: 'http://127.0.0.1/netdisk/public/',这行代码注释,网页打开就白屏,控制台报错Uncaught TypeError: Cannot read property 'replace' of undefined,但是Webpack打包无任何错误,这是怎么回事?

因为我上线之后必须改接口地址,我不想一个一个去组件里面修改,所以必须想办法解决这个问题,谢谢各位了!

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
高洛峰

baseUrl 无关。

上个问题说过了 axios 不属于 Vue 的插件,自然也就不能使用 Vue.use 来安装。

正确姿势:

// ajax.js
import axios from 'axios'

export default {
    install(Vue, option = {}) {
        const http = axios.create(option)
        // 1.通过 Vue.http 调用
        Vue.http = http
        // 2.通过 this.$http 调用
        Vue.prototype.$http = http
    }
}

// 入口文件
import Ajax from './ajax.js'
Vue.use(Ajax, {
    baseURL: 'http://127.0.0.1/netdisk/public/'
})

https://vuefe.cn/v2/guide/plu...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号