javascript - 与输入/导出相关的问题
问题描述
我有 JS 文件,想为它写打字。
import { ApiService } from './src/ApiService'
然后我写打字并导出它
export declare class ApiService {
constructor(adapter: any, options: any);
on:(evt, cb) => any;
extend: (opts) => any;
}
错误 TS2440:导入声明与 ApiService 的本地声明冲突
我该如何修复它?
解决方案
将您的声明放在一个文件中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'
它应该有效。
推荐阅读
- ios - 应用因 3.1.1 被拒绝 - 业务 - 付款 - 应用内 (World Pay)
- reactjs - React + Redux PUT api 请求编辑我的 redux 存储中的数据
- angularjs - 检查 gridOptions 中是否存在行
- javascript - 如何仅使用本机 Promise 编写异步计数器,即具有异步代码同步接口的计数器?
- python - QPrinter 和 QPainter 从 TreeView 打印到 PDF 错误
- garbage-collection - Linux 中的 Mono GC:为什么要占用更多的内存、更多的时间来做 GC 和 GetTotalMemory 的成本如此之高?
- c++ - tcp 服务器的异步读取使用 boost::asio 打印客户端套接字发送的数据
- java - javafx 将并发绘制到多个画布中
- c++ - Code::Blocks C++ 用 MacOS Mojave 编译:致命错误:sys/cdefs.h:没有这样的文件或目录
- android - 更新到新的 Android Studio 3.2 后出现错误