首页 > 解决方案 > 与输入/导出相关的问题

问题描述

我有 JS 文件,想为它写打字。

import { ApiService }  from './src/ApiService'

然后我写打字并导出它

   export declare class ApiService {
     constructor(adapter: any, options: any);
     on:(evt, cb) => any;
     extend: (opts) => any;
}

错误 TS2440:导入声明与 ApiService 的本地声明冲突

我该如何修复它?

标签: javascripttypescripttypescript-typings

解决方案


将您的声明放在一个文件中ApiService.d.ts(但关键字declare是不必要的):

// src/ApiService.d.ts
export class ApiService {
  constructor(adapter: any, options: any);
  on:(evt, cb) => any;
  extend: (opts) => any;
}

请注意,TS 定义文件名必须与 JavaScript 文件名相同:ApiService.d.ts描述一个 JavaScript 文件ApiService.js

然后,导入它:

// test.ts
import { ApiService }  from './src/ApiService'

它应该有效。


推荐阅读