私はTypescriptを使い慣れていますが、これを行うにはさまざまな方法を探していますが、私は立ち往生しています。Typescriptで関数のコレクションをエクスポートする
私はどこでもインポートできる無関係の関数のコレクションを含むライブラリファイルを作成したいと思います。
let libraryFunctions = {};
libraryFunctions.a =() => {
return true;
}
module.exports = libraryFunctions;
しかし、活字体で私は苦情がProperty 'a' does not exist on type {}
を言ってもらう:通常のJavaScriptで、私はこれに似た何かを行うことができます。 (活字体のクラスの私の理解が間違っている場合がない限り)
interface ILibraryFunctions {
a(): boolean;
};
export class LibraryFunctions implements ILibraryFunctions {
a =() => {
return false;
}
}
しかし、クラスを作成することはあまりにも過大であると考えられる:私は、私はこれに似た何かができました。誰かが正しい方向に私を指すことができるだろうか?
ありがとうございます!活字体で
ありがとうございました!最初の方法が好ましい理由の裏にある理由は何ですか? – user3781239
現実的には、 'a'を使ってオブジェクトを' default'にエクスポートしないと、 'a'自身を直接デフォルトにエクスポートします。つまり、書かれていることをやらない理由は、既存のツールが実際のオブジェクトからではなく、トップレベルのエクスポートからより簡単にツリーシェイクできるということです。さらに、最初の構文を使用すると、複数のエクスポートがある場合にES2015の名前付きインポート構文を使用できます。 –
@DanielRosenwasserありがとう、これは素晴らしい点です。私は、可視性を高めるために答えに加えました。 –