当前位置: 首页 > 知识库问答 >
问题:

javascript - vue3中模块导出为什么一直报错?

韦阳晖
2023-05-21

这个是request.js文件

import { baseUrl, apiPath } from '@/config/config';
export default {
    config:{
        baseURL: baseUrl+apiPath,
        // 响应拦截器
        beforeRequest() {
            return new Promise((resolve, reject) => {
                console.log('响应拦截器')
                resolve('123456')
            })
        },
        // 请求拦截器
        handleResponse() {}
    },
    // request 请求
    request(){
        return this.config.beforeRequest().then(opt => {
            console.log(opt)
        })
    }
}

这个是entrepot.js文件

import request from '@/request/index.js';
export default {
    getEntrepotByKeyword: (params) =>
        request({
            url: 'activity/groupon/myGroupons',
            method: 'GET',
            data: params
        }),
    //意见反馈
    feedback: (data) => {
      console.log(11111);
    }



};

当我调用getEntrepotByKeyworda时,报错:request is not a function。如何解决?

共有2个答案

令狐高洁
2023-05-21
import { request } from '@/request/index.js'; 

2022-05-20

感谢 @zangeci 的指正,默认导出不可以通过 import 解构。

import request from '@/request/index.js';

const requestInstance = request.request;

export default {
    getEntrepotByKeyword: params =>
        requestInstance({
            url: "activity/groupon/myGroupons",
            method: "GET",
            data: params,
        }),
    //意见反馈
    feedback: data => {
        console.log(11111);
    },
};
import { baseUrl, apiPath } from '@/config/config';
export default {
    config: {
        baseURL: baseUrl+apiPath,
        // 响应拦截器
        beforeRequest() {
            return new Promise((resolve, reject) => {
                console.log("响应拦截器");
                resolve("123456");
            });
        },
        // 请求拦截器
        handleResponse() {},
    },
    // request 请求
    request(options) {
        console.log("request -> options:", options);
        return this.config.beforeRequest().then(opt => {
            console.log(opt);
        });
    },
};
陈斌蔚
2023-05-21

request是对象中的一个方法啊,你又不是export default request

 类似资料:
  • threeJS中找不到BoxBufferGeometry类 版本"three": "^0.160.0" vite+vue环境 将BoxBufferGeometry改为BufferGeometry之后没有报错,但是图形出不来 three源代码中也找不到相关的类

  • 我看到ES6模块的公共导出是通过以下两种方式完成的: 这两个都有效吗? 如果是这样,为什么它们都存在? 使用ES6语法的模块导出还有其他有效的选项吗? 我很惊讶我还没能用我的谷歌找到答案。我只关心ES6模块,而不关心通用JS、要求JS、AMD、节点等。

  • 问题内容: 我注意到我今天想解释的东西很奇怪。我不是100%不确定如何将其表达为一个问题,所以google是不可能的。由于某些奇怪的原因,日志记录模块无权访问模块logging.handlers。如果您不相信我,请自己尝试: 谁能解释为什么会这样? 问题答案: 在Python中,需要先导入模块,然后才能对其进行访问。仅导入日志记录模块。碰巧这是一个带有子模块的软件包,但是那些子模块仍然不会自动加载

  • 疑问 react虽然同时提供了commonjs导出和esm导出,但是其esm导出的文件仍然是commonjs的,在并未经过任何转译的情况下,为什么能直接使用import具名导入它呢?在index.mjs中具名导入本地的commonjs模块会出错,我仿照react做了一个模块也是报错 复现 仅安装react index.mjs 执行 结果 成功打印react版本 其他信息 react的package

  • OS- Neon Linux我有以下命令行输出: 请告诉我,为什么PyCharm不能导入模块?