我需要在NodeJS后端和Angular前端之间共享一些通用接口。因此,我创建了一个仅包含库的新Angular项目。
这是一个界面示例:
export interface EvPageRef {
page_id: string;
src_page: string;
}
如果我使用TypeScript 3.x编译上述内容,则不会输出任何内容。没有我期望的JavaScript输出,但是如果将以上内容添加到Angular库中,则会得到以下内容。
/**
* @record
*/
function EvPageRef() { }
if (false) {
/** @type {?} */
EvPageRef.prototype.page_id;
/** @type {?} */
EvPageRef.prototype.src_page;
}
这是为umd
项目输出中的esm5
,ems2015
和dist/example
源代码文件夹生成的。
上面是TypeScript类型定义文件,其中包含interface
文件夹中的dist/example/lib
声明。
所以我对此有两个问题:
- 为什么要在这里?有什么意义?
- 这不会增加使用此库的Angular项目的大小吗?