我查看了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文件与包意味着他们不需要从其他地方安装它,例如明确键入