我在打字稿中创建一个软件包,并使用tsc工具生成声明文件,但是当我尝试从其他项目类型定义导入此软件包时,我不会自动加载此软件类型错误。我该如何解决这个问题?我知道您不需要安装或指定使用打字的模块,但是我找不到如何执行此操作。
编辑 - 详细信息:我使用tsc --declarations
命令生成声明文件,所有这些文件都直接使用JS文件进入构建目录。我的package.json中有{"types": "./build/index.d.ts", "typescript.tsdk": "./build"}
,但似乎没有任何影响。以下是一些示例:
build/index.d.ts
import Network from './network';
import Queue from './queue';
export { Queue, Network, Jobs };
构建/网络/index.d.ts
import Address from './address';
import Socket from './socket';
import Packet from './packet';
export { Address, Socket, Packet };
declare var _default: {
Address: typeof Address;
Socket: typeof Socket;
Packet: typeof Packet;
};
export default _default;
构建/network/packet.dt.ts
export default class Packet {
private params;
static fromString(str: string): Packet;
toString(): string;
}
由于您使用默认导出,并且软件包在node_modules
内部,因此可以以下方式导入它:
import Socket from "core/build/network/socket";
class Abc extends Socket {
constructor() {
super();
this.connect('address');
}
}
let s = new Socket();
s.connect('address');