私はmoment.jsライブラリに特別な機能を追加しようとしています。私は、本体にモーメント()呼び出しが必要な関数を追加したいと思います。これを考え出すのは難しいです。Typescript:moment.js名前空間に関数を追加する
私はTypescriptとmoment.jsの最新バージョンを使用しています。私は解決策を見つけようとしましたが、何も出てこなかった。この解決法(Typescript: add function to momentjs' prototype)は、仕事に近いところに来ていると思いますが、まだ何もありません。
はは、これまでのところ私が持っているものである :
import * as moment from 'moment';
export namespace moment{
interface Moment{
myFunc(): boolean;
}
}
(moment as any).fn.myFunc = function() {
return moment(....);
};
私は私が間違っているつもりだどこか分からないが、私は瞬間ライブラリを使用しようとmyFuncというときに私はから瞬間としてモーメント(インポート*をインポートすると思いました'moment')でも十分ですが、myFuncは認識されず、標準モーメント関数だけが認識されます。
Ex。これはmyFunc()が認識されないことを示します。
import * as moment from 'moment'
import Moment = moment.Moment
... moment().add(...) //works
... moment().myFunc() // doesn't recognize myFunc()
これを動作させる方法についてのご意見はありますか?
'myFunc'はmoment' – Aravind
あなた'に存在していないため、 「瞬間」によって輸出されたものではなく、あなた自身の「瞬間」型を輸入すべきです。だから、「瞬間」から「瞬間として輸入する」、「瞬間を延長する」などのように、「輸入*」を変更します。 – csander
だから、@cansanderがどのように示唆したのかをコードに変更しましたが、うまくいきません。私はこの権利をしていますか? myMoment.myFunc() 'のようにmyFuncを呼び出そうとしますが、私はこのエラーを受け取ります:プロパティ 'myFunc'はタイプ 'typeof "に存在しませんc:/ Git /.../memory.extended"' –