次のように、クラスが他のクラスに自分自身を追加するとします。
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
私が示した解決策は醜いので、とにかくtypescript に含めるように指示する方法はありますか。
完全を期すために、ここに私の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"]
}