typescript から momentJs を使用しようとしています: typescript のコンパイルに使用しているモジュール システムに応じて、momentJs の使用方法について異なる動作を見つけます。typescript をcommonJsでコンパイルすると、すべてが期待どおりに機能し、momentJs のドキュメントに従うことができます。
import moment = require("moment");
moment(new Date()); //this works
「瞬間」をインポートするときに「システム」をタイプスクリプトモジュールシステムとして使用すると、強制されます
import moment = require("moment");
moment.default(new Date()); //this works
moment(new Date()); //this doesn't work
使用されているタイプスクリプトモジュールシステムに関係なく、両方を機能させる回避策を見つけました
import m = require("moment")
var moment : moment.MomentStatic;
moment = (m as any).default || m;
私はこれが好きではありません。なぜこのように振る舞うかを理解したいと思います。私は何か間違ったことをしていますか?何が起こっているのか誰か説明してくれませんか?