oiooooio 2022-03-24 17:07 采纳率: 77.8%
浏览 44
已结题

vue的一个小问题搞不懂?

代码附加在最后,主要是函数axiosInit.

如下图, 为什么打印的日志不是:

xxx5555
xxxxx---0

而是:

xxxxx---1 request.js:56
xxxxx---0 request.js:49
Uncaught TypeError: window._app is undefined
    getBaseUrl request.js:9
    init request.js:16
    axiosInit request.js:50
    axiosRequest request.js:57
    ....

img


目的:
在main.js最后上报一条日志



// request.js

import axios from 'axios';

let axiosInited = false;
let service;

function init () {
    function getBaseUrl () {
        if (process.env.NODE_ENV === 'development') {
            return window._app.$store.state.vuex_host_dev;
        } else {
            return window._app.$store.state.vuex_host_prod;
        }
    }

    service = axios.create({
        baseURL: getBaseUrl(),
        timeout: 5000,
    });

    service.interceptors.request.use(
        (config) => {
            if (!config.headers) config.headers = {};
            config.headers.token = window._app.$store.state.vuex_token;
            config.headers['Content-Type'] = 'application/json;charset=utf-8';
            return config;
        },
        (error) => {
            console.log(error);
            return Promise.reject();
        }
    );

    service.interceptors.response.use(
        (response) => {
            if (response.status === 200) {
                return response.data;
            } else {
                Promise.reject();
            }
        },
        (error) => {
            console.log(error);
            return Promise.reject();
        }
    );
}

export const axiosInit = function () {
    console.log('xxxxx---0');
    init();
    axiosInited = true;
};

export const axiosRequest = function () {
    if (!axiosInited) {
        console.log('xxxxx---1');
        axiosInit();
    }
    console.log('xxxxx---2');
    return service;
};

// export default service;


//index.js

import { axiosRequest } from '../plugins/request';

const request = axiosRequest();

export const httpGet = (url, query, headers) => {
    return request({
        url: url,
        method: 'get',
        params: query,
        headers: headers,
    });
};

export const logOpened = (query) => {
    console.log('request', request);
    return httpGet('/xxx', query);
};


  • 写回答

2条回答 默认 最新

  • 归来巨星 前端领域新星创作者 2022-03-24 17:14
    关注

    你这个问题 描述的能详细一些吗 你的xxxxx----打的太多了没太理解你想输出什么 想要什么结果

    img

    再有这两个import引入 写在最上方 不要写代码中

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月25日
  • 已采纳回答 3月25日
  • 修改了问题 3月24日
  • 修改了问题 3月24日
  • 展开全部

悬赏问题

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