2016-12-29 7 views
5

कोई विचार क्यों यह काम नहीं करता है या प्रारूप प्रारूप का समर्थन करने के लिए मैं अवधि इंटरफ़ेस कैसे बढ़ा सकता हूं?पल-अवधि-format.d.ts परिभाषा क्षण मॉड्यूल का विस्तार नहीं कर रहा है

moment.duration(minutes, 'minutes').format('mm'); 

मैं त्रुटि है कि 'प्रारूप' पर प्रकार 'अवधि'

उत्तर

4

आयात मौजूद नहीं है हो रही है::

import * as moment from 'moment'; 
import 'moment-duration-format'; 

बाहर

declare module 'moment' { 
    interface Duration { 
     format(template: string, precision?: string, settings?: any): string; 
    } 

} 

जब रूप में इस्तेमाल किया अपनी कक्षा के, इंटरफ़ेस को परिभाषित करें:

interface Duration extends moment.Duration { 
    format: (template?: string, precision?: number, settings?: DurationSettings) => string; 
} 

interface DurationSettings { 
    forceLength: boolean; 
    precision: number; 
    template: string; 
    trim: boolean | 'left' | 'right'; 
} 

फिर अपने कोड में:

const duration = moment.duration(minutes, 'minutes') as Duration; 
return duration.format('mm'); 

यदि आप किसी अन्य फाइल में अपने Duration इंटरफेस परिभाषित हैं, तो आप निर्यात और यह रूप में अच्छी तरह आयात करने के लिए की आवश्यकता होगी।

+0

मैं अभी भी अपने कोड में त्रुटियों को मिल रहा है उपयोग कर सकते हैं । संपत्ति 'अवधि' प्रकार 'टाइपोफ' पल '' पर मौजूद नहीं है। –

+0

मुझे यह समझने के लिए आपके कोड को देखना होगा कि आपकी त्रुटि कहां से आती है। लेकिन मेरे जवाब पर एक नज़र डालें, मैंने इंटरफ़ेस परिभाषाओं को अपडेट किया है। मुझे नहीं लगता कि यह आपकी समस्या का समाधान करेगा, लेकिन एक बार तय हो जाने पर, यह बेहतर स्वत: पूर्ण प्रदान करेगा। – fxlemire

+0

एक आकर्षण की तरह काम करता है! धन्यवाद – Madman

2

पहले, प्रकार स्थापित:

npm install --save-dev @types/moment-duration-format 

दूसरा, उन्हें आपकी फ़ाइल में आयात:

/// <reference path='../..your-path.../node_modules/@types/moment-duration-format/index.d.ts' /> 
import * as moment from 'moment'; 
import 'moment-duration-format'; 

तो फिर तुम

moment.duration(minutes, 'minutes').format('mm'); 
+0

'npm इंस्टॉल - सेव-देव @ प्रकार/पल-अवधि-प्रारूप 'ने मेरी समस्या हल की, जबकि' npm अधिष्ठापन-अवधि-प्रारूप 'स्थापित नहीं किया। – samthui7

संबंधित मुद्दे