现状:
在:
中定义了一个类LIB /组件/部件/ MyWidget.ts:
export class MyWidget {
public property1: string;
/* ... more properties ... */
}
它被编译为javascript,与其他文件捆绑在一起作为 lib-min.js
的结果因为它位于 lib / components / widgets / MyWidget.ts 中,我已经定义了“集合”文件( mydefinition.d.ts ),如:
declare module "lib/components/widgets" {
export class MyWidget {
/* documentation of property1 */
public property1: string;
/* ... more properties ... */
}
}
interface MyOption {/* ... */}
通过这种方式,它可以像(当然在将 lib-min.js 包含在页面中后)一样使用:
import { MyWidget } from "lib/components/widgets/MyWidget";
let myInstance = new MyWidget();
问题:
我认为很明显,保持这种重复是压倒性的,并且容易导致错误。 升级到typescript 2+(从1.8.9开始)后,我得到了“重复标识符”的几个编译错误,通常它不像以前那样工作。
问题
是否有一种干净且“便宜”的方法来解决这个问题(如果可能的话,避免代码重复)?