假设一个类将自己添加到另一个类,如下所示
bar.ts
:
import { Foo } from './foo';
export class Bar {}
Foo.prop = Bar;
并归档foo.ts
export class Foo {
public static prop: any;
}
现在,如果想在index.ts
import { Foo } from './foo';
console.log(Foo.prop); // -> undefined
它是未定义的。看起来bar.ts
根本没有使用(可能是摇树)。所以我可以修复如下:
import { Foo } from './foo';
import { Bar } from './bar';
new Bar(); // trick!
console.log(Foo.prop); // -> Bar
有没有办法告诉打字稿Bar
无论如何都要包括在内,因为我展示的解决方案很丑陋。
为了完整起见,这是我的tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"sourceMap": true,
"noImplicitAny": false,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2017",
"outDir": "./dist",
"baseUrl": "./",
"lib": ["es2017", "dom", "dom.iterable"]
},
"exclude": ["node_modules", "**/*.spec.ts", "dist"]
}