私は内部グローバル定義と外部ライブラリthing.d.ts
ファイルがあります:私は私の活字体でNPMモジュールを参照TypeScriptが.defaultをグローバルに定義されたインポートに追加するのはなぜですか?
declare var thing: ThingStatic;
export default thing;
を:
import thing from 'thing';
...
thing.functionOnThing();
私は(ES6をターゲット)TSをtranspileするとき、それはのようになりますこの:
const thing_1 = require("thing");
...
thing_1.default.functionOnThing();
これは、エラーがスローされます。
Cannot read property 'functionOnThing' of undefined
をthing_1
とfunctionOnThing()
の間に追加するのはなぜですか?
ThingStatic
にdefault
という名前のプロパティがなく、.d.ts
ファイルが定義する基になるJSオブジェクトにはdefault
プロパティがありません。
なぜTypeScriptがプロパティを追加し、それを停止するのですか?
今、私は 'thing.default'を自分のTypeScriptに持っていますので、少なくとも私はそれを回避することができます。これは私が使っている図書館のバグですか?グローバル変数をインポートできるように '.dts 'をどのように書くべきですか? – Keith
.d.tsファイルは 'export default thing'の代わりに' export = thing'と言うべきです –
私はちょうどそれを試みました、それは私にエラーを与えます: 'TS2309輸出割り当ては他の輸出された要素。' – Keith