TypeScript包创建声明文件

时间:2017-02-18 15:06:24

标签: javascript node.js typescript

我在打字稿中创建一个包,然后使用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;
}

1 个答案:

答案 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');