打字稿软件包创建声明文件



我在打字稿中创建一个软件包,并使用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');

最新更新