2017-08-18 6 views
0

最近私は新しいタイプスクリプトプロジェクトを開始しましたが、今はモーメントレンジを使いたいと思います。私は一瞬-範囲および@タイピング/モーメントの範囲をインストールしていると私は私の文書の先頭に以下の行を追加しました:Property 'range' does not exist on type 'typeof moment'タイプスクリプトプロジェクトでの瞬間範囲の入力を含む

:しかし

import * as moment from 'moment'; 
import { DateRange } from 'moment-range'; 

、私はまだ、このエラーを提示しています

これは私のtsconfig.jsonです:

{ 
    "compilerOptions": { 
     "module": "commonjs", 
     "target": "es5", 
     "experimentalDecorators": true, 
     "emitDecoratorMetadata": true, 
     "noEmitHelpers": false, 
     "noEmitOnError": true, 
     "lib": [ 
      "es6", 
      "dom", 
      "es2015.iterable" 
     ], 
     "baseUrl": ".", 
     "paths": { 
      "*": [ 
       "./node_modules/tns-core-modules/*", 
       "./node_modules/*" 
      ] 
     } 
    }, 
    "exclude": [ 
     "node_modules", 
     "platforms", 
     "**/*.aot.ts" 
    ] 
} 

どのようなステップがありますか?

また、瞬間の範囲タイピングをグローバルに含めて、各ファイルで行う必要はありませんか?

答えて

0

あなたは瞬間に範囲を呼び出そうとしているようです。モーメントレンジの代わりに。

あなたはnpmjsに自分のドキュメントを見れば、それは次のように瞬間の範囲をインポートすると言う:

import Moment from 'moment'; 
import { extendMoment } from 'moment-range'; 

const moment = extendMoment(Moment); 

あなたは瞬間を拡張していますか? あなたはどのようなプロジェクトをご利用ですか?

+0

この解決策の問題は、私はすべての中でこれを実行しなければならないということです。私はこのようなファイルを作成しました私がモーメントレンジを必要としないときでさえ、私が瞬間を使いたいと思っている単一のファイル。そうでなければ、ファイルなしでファイル内の関数を呼び出すことができないからです。 –

+0

あなたの解決策は角度ベースのプロジェクトのためにお勧めする方法である –

+0

の方法による角度 - 原語のプロジェクトです。 – azyth

0

私はそれを理解しました。私は私のメインのファイルに一度、それを参照して、今、私は(moment.rangeを使用することができます

import * as moment from "moment"; 
import { DateRange } from 'moment-range'; 

declare module "moment" { 
    function range(range: string | Date[] | moment.Moment[]): DateRange; 
    function range(start: Date | moment.Moment, end: Date | moment.Moment): DateRange; 
} 

)どこでも

関連する問題