我在打字稿中创建一个包,然后使用tsc工具生成声明文件,但是当我尝试从另一个项目中导入此包时,类型定义不会自动加载,我会收到类型错误。我怎样才能解决这个问题?我知道有些模块你不需要安装或指定使用的类型,但我无法找到如何做到这一点。
编辑 - 详细信息:我使用tsc --declarations
命令生成声明文件,所有命令都直接使用js文件进入构建目录。我在我的package.json中{"types": "./build/index.d.ts", "typescript.tsdk": "./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;
构建/网络/ packet.dt.ts
export default class Packet {
private params;
static fromString(str: string): Packet;
toString(): string;
}
答案 0 :(得分:1)
由于您使用默认导出而您的包位于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');