在发布包中包含.d.ts(打字稿的声明文件)有什么好处?



我查看了node_modules文件夹中的ionic-angular包。每个组件内部还包括.d.ts例如menu-controller.js文件,也会有menu-controller.d.ts

请注意,我们需要的只是在项目中使用的javascript文件。那么在这种情况下,在发布包中包含这样的.d.ts文件有什么好处呢?

以下内容为menu-controller.d.ts文件

import { Menu } from './menu';
import { MenuType } from './menu-types';
import { Platform } from '../../platform/platform';
export declare class MenuController {
    private _menus;
    open(menuId?: string): Promise<boolean>;
    close(menuId?: string): Promise<boolean>;
    toggle(menuId?: string): Promise<boolean>;
    enable(shouldEnable: boolean, menuId?: string): Menu;
    swipeEnable(shouldEnable: boolean, menuId?: string): Menu;
    isOpen(menuId?: string): boolean;
    isEnabled(menuId?: string): boolean;
    get(menuId?: string): Menu;
    getOpen(): Menu;
    getMenus(): Array<Menu>;
    register(menu: Menu): void;
    unregister(menu: Menu): void;
    static registerType(name: string, cls: new (...args: any[]) => MenuType): void;
    static create(type: string, menuCmp: Menu, platform: Platform): MenuType;
}

因为其他人可能会在Typescript项目中使用这个包,并且使用。Ts文件与包意味着他们不需要从其他地方安装它,例如明确键入

最新更新