CommonJSモジュールとして使用され、エクスポートされないシンプルなTSパッケージがあります。 TSファイルは、同じ名前のJSファイルにコンパイルされ、require('package/option-foo')
として使用されます。関連のないファイルで 'ブロックスコープの変数を再宣言できません'
tsconfig.json:
{
"compilerOptions": {
"target": "es5"
}
}
オプション-foo.ts:
declare const GlobalVar: any;
function baz() {}
if (GlobalVar.foo) GlobalVar.baz = baz;
オプション-bar.ts:
declare const GlobalVar: any;
function baz() {}
if (GlobalVar.bar) GlobalVar.baz = baz;
ここで重要な部分は、そのoption-foo
とoption-bar
ですは一緒に使わないです。プロジェクトにはその他の無料のTSファイルがありますが、何にも影響はありません。ちょうど1つのtsc
でJSに転送する必要があります。 tsc
実行すると、それは
はブロックスコープ変数を再宣言することはできませんスロー
'GlobalVar'。
重複機能の実装。
ブロックスコープ変数 'GlobalVar'を再宣言できません。
重複機能の実装。
GlobalVar
およびbaz
を両方のファイルに含む。
ビルドプロセスやこれら2つのTSファイルの出力を複雑にすることなく、これをどのように扱うことができますか?
このような場合、 'custom-typings.d.ts'ファイルのようなものを用意して、' any'の両方であればそれを宣言するだけです。また、希望の '--module'コンパイルを変更することもできます(AMD/Systemはファイルを個別にスコープすると思います)。 – Seiyria