Skip to content

[Need Help] 只要将useRequest结果导出就报ts(4023)错误 #217

@XGAGX

Description

@XGAGX

问题描述 Problem Description

想将service和useRequest二次封装方便使用,但发现只要将useRequest结果导出就报ts(4023)错误

其他信息 Other information

创建个新项目也是如此

可创建个新项目复现这个问题

import { useRequest } from 'vue-request'

export const newRequest = (service: () => Promise<any>) => useRequest(service)

错误信息:

导出的变量“newRequest”具有或正在使用外部模块“"xxxx/node_modules/vue-request/dist/types/index"”中的名称“QueryResult”,但不能为其命名。ts(4023)

环境:
vscode: 1.78.2
node: 16.17.1
typescript: 5.0.4

最小demo项目文件只要3个文件
如下

package.json

{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "typescript": "^5.0.4",
    "vue-request": "^2.0.2"
  }
}

tsconfig.json

{
  "include": ["env.d.ts", "./**/*"],
  "compilerOptions": {
    "composite": true,
    "baseUrl": "."
  }
}

demo.ts

import { useRequest } from "vue-request";

export const newRequest = (service: () => Promise<any>) => useRequest(service);

Metadata

Metadata

Assignees

No one assigned

    Labels

    2.x2.xquestionFurther information is requestedtstypescript problem

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions