0

次のように、クラスが他のクラスに自分自身を追加するとします。

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"]
}
4

1 に答える 1